# 拉取最新Registry镜像
docker pull registry:latest
# 创建数据存储目录
mkdir -p /var/lib/registry
# 运行Registry容器
docker run -d \
-p 5000:5000 \
--name registry \
-v /var/lib/registry:/var/lib/registry \
--restart=always \
registry:latest
# 生成认证文件
mkdir -p /auth
docker run --entrypoint htpasswd httpd:2 -Bbn username password > /auth/htpasswd
# 使用TLS运行(需要提前准备证书)
docker run -d \
-p 5000:5000 \
--name registry \
-v /var/lib/registry:/var/lib/registry \
-v /auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-v /path/to/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
--restart=always \
registry:latest
# 下载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
cd harbor
hostname: registry.yourdomain.com
http:
port: 80
https:
port: 443
certificate: /your/certificate/path
private_key: /your/private/key/path
harbor_admin_password: Harbor12345
database:
password: root123
data_volume: /data
./install.sh
存储后端优化:
缓存配置:
# 在Registry配置中添加缓存
redis:
addr: redis:6379
pool:
maxidle: 16
maxactive: 64
idletimeout: 300s
Garbage Collection:
# 定期清理未引用层
docker exec registry bin/registry garbage-collect /etc/docker/registry/config.yml
负载均衡:
备份策略:
# 备份Registry数据
tar czvf registry-backup-$(date +%Y%m%d).tar.gz /var/lib/registry
监控指标:
日志管理:
# 配置日志轮转
version: 0.1
log:
fields:
service: registry
access:
disabled: false
level: info
formatter: text
hooks:
- type: local
disabled: false
levels:
- error
options:
maxsize: 100m
maxage: 7d
maxbackups: 10
localtime: false
compress: true
# 配置非安全Registry(仅测试环境)
echo '{ "insecure-registries":["your-registry-ip:5000"] }' > /etc/docker/daemon.json
systemctl restart docker
# 登录认证
docker login your-registry-ip:5000
通过以上配置,您可以在Linux服务器上建立一个高效、安全的Docker镜像仓库,满足不同规模团队的需求。