# 拉取官方Registry镜像
docker pull registry:2
# 下载Harbor离线安装包
wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
tar xvf harbor-offline-installer-v2.5.0.tgz
# 生成自签名证书(生产环境建议使用CA签名证书)
openssl req -newkey rsa:4096 -nodes -sha256 -keyout domain.key -x509 -days 365 -out domain.crt
# 创建认证文件
docker run --entrypoint htpasswd httpd:2 -Bbn username password > /auth/htpasswd
docker run -d -p 5000:5000 --restart=always --name registry \
-v /path/to/certs:/certs \
-v /path/to/auth:/auth \
-v /path/to/data:/var/lib/registry \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
-e REGISTRY_AUTH=htpasswd \
-e REGISTRY_AUTH_HTPASSWD_REALM="Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry:2
# 创建专用网络
docker network create registry-net
docker update --memory 2G --memory-swap 4G registry
docker run -d ... \
-e REGISTRY_LOG_LEVEL=info \
-v /path/to/logs:/var/log/registry \
registry:2
hostname: reg.yourdomain.com
http:
port: 80
https:
port: 443
certificate: /your/cert/path
private_key: /your/key/path
harbor_admin_password: Harbor12345
database:
password: root123
data_volume: /data
./install.sh
# 备份Registry数据卷
docker stop registry
tar czvf registry-backup-$(date +%Y%m%d).tar.gz /path/to/data
docker start registry
docker exec registry bin/registry garbage-collect /etc/docker/registry/config.yml
# 将CA证书复制到Docker证书目录
sudo mkdir -p /etc/docker/certs.d/reg.yourdomain.com
sudo cp domain.crt /etc/docker/certs.d/reg.yourdomain.com/ca.crt
docker login reg.yourdomain.com
通过以上步骤,您可以建立一个安全、可靠的Docker镜像仓库,满足企业级应用的需求。