私有 Registry
约 573 字大约 2 分钟
布欧-Lewyon
2026-05-15
首页 › Docker › 生产部署(在新窗口打开) › 私有 Registry
私有 Registry 用于存储和管理 Docker 镜像,特别适合企业内部使用或不希望将镜像上传到公共仓库的场景。
Docker Registry
Docker 官方提供了 registry:2 镜像,可以快速启动一个私有仓库。
# 启动本地 Registry
docker run -d \
-p 5000:5000 \
--name registry \
-v registry-data:/var/lib/registry \
registry:2
# 打标签并推送
docker tag nginx:alpine localhost:5000/nginx:alpine
docker push localhost:5000/nginx:alpine
# 拉取验证
docker pull localhost:5000/nginx:alpine安全配置
# 创建密码文件
mkdir -p auth
docker run --rm \
httpd:alpine htpasswd -Bbn admin mypassword > auth/htpasswd
# 配置 TLS 证书
mkdir -p certs
# 使用 Let's Encrypt 或自签名证书
openssl req -x509 -nodes -days 365 \
-subj '/CN=myregistry.example.com' \
-newkey rsa:4096 \
-keyout certs/domain.key \
-out certs/domain.crt# compose.yml
services:
registry:
image: registry:2
ports:
- "443:5000"
volumes:
- registry-data:/var/lib/registry
- ./auth:/auth
- ./certs:/certs
environment:
REGISTRY_AUTH: htpasswd
REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt
REGISTRY_HTTP_TLS_KEY: /certs/domain.key
volumes:
registry-data:# 登录
docker login myregistry.example.comHarbor(企业级 Registry)
Harbor 是一个开源的企业级镜像仓库,提供更多功能:
- 基于角色的访问控制(RBAC)
- 镜像复制(跨机房同步)
- 漏洞扫描(集成 Trivy)
- 镜像签名和审计
- 垃圾回收
# 使用 Harbor 的在线安装程序
wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz
tar xzf harbor-offline-installer-v2.10.0.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml
# 编辑配置文件
./install.sh第三方镜像仓库
| 服务 | 说明 |
|---|---|
| Docker Hub | 官方公共仓库 |
GitHub Container Registry (ghcr.io) | GitHub 集成 |
| GitLab Container Registry | GitLab 集成 |
| AWS ECR | Amazon 托管 |
| Azure Container Registry | Microsoft 托管 |
| Google Artifact Registry | GCP 托管 |
| 阿里云 ACR | 国内速度快 |
Registry 维护
# 查看仓库中的镜像
curl -X GET https://myregistry/v2/_catalog
# 查看镜像标签
curl -X GET https://myregistry/v2/myapp/tags/list
# 删除镜像(需要先开启 REGISTRY_STORAGE_DELETE_ENABLED=true)
curl -X DELETE https://myregistry/v2/myapp/manifests/<digest>
# 垃圾回收(释放已删除镜像的存储空间)
docker exec registry registry garbage-collect /etc/docker/registry/config.yml小结
registry:2镜像快速搭建私有仓库,结合 TLS + 认证使用 HTTPS。- Harbor 是更完整的企业级方案,支持 RBAC、漏洞扫描、镜像复制。
- 第三方托管 Registry(GHCR、ECR、ACR 等)免运维,适合大多数团队。
docker tag+docker push推送镜像到私有 Registry。- 定期做 garbage-collect 清理已删除镜像的存储空间。
上一节:BuildKit 高级构建 下一节:CI/CD 集成
