部署 Docker 私有镜像仓库方式对比
一般有两种方式:
- 基于distribution部署
- 基于Harbor部署
1,使用官方 Distribution 搭建私有仓库
Docker 在 2015 年推出了 Distribution 项目,即 Docker Registry 2。相比于 Old Registry,Registry 2 使用 Go 实现,在安全性、性能方面均有大幅改进。Registry 设计了全新的 Rest API,并且在 Image 存储格式等方面不再兼容于 Old Registry。如果你要与Registry2 交互,你的 Docker 版本至少要是 Docker 1.6。https://www.docker.com/blog/donating-docker-distribution-to-the-cncf/
Registry 2 在镜像存储方面不仅支持本地盘,还支持诸多主流第三方存储方案。通过分布式存储系统你还可以实现一个分布式 Docker Registry 服务。
安装启动 Registry
方案1:使用 yum 安装(直接从 extras 源中下载安装)
yum -y install docker-distribution
方案2:以容器方式安装
docker pull registry:2.6.22.6.2
docker run --name registry -p 5000:5000 -v /data/registry:/var/lib/registry -d registry:2.6.2a43f802e737eba89879a4dc02562b38e0042db981f9bdb91782b453f0bac4119
2,使用Harbor开源解决方案部署镜像仓库
Harbor 介绍:
Harbor 是一个开源的可信云本机注册表项目,用于存储,签名和扫描内容。Harbor 由 Cloud Native Computing Foundation(CNCF)托管。
Harbor 通过添加用户通常需要的功能(如安全性,身份和管理)来扩展开源 Docker Distribution。使注册表更接近构建和运行环境可以提高 Image 传输效率。Harbor 支持在注册表之间复制映像,还提供高级安全功能,如用户管理,访问控制和活动审计。
Harbor 特征:
- 云本机注册表:Harbor 支持容器映像和 Helm Char,可用作云本机环境(如容器运行时和业务流程平台)的注册表。
- 基于角色的访问控制:用户和存储库通过“项目”进行组织,用户可以对项目下的 Image 拥有不同的权限。
- 基于策略的映像复制:可以基于具有多个过滤器(存储库,标记和标签)的策略在多个注册表实例之间复制(同步)映像。如果遇到任何错误,Harbor 将自动重试进行复制。非常适合负载平衡,高可用性,多数据中心,混合和多云场景。
- 漏洞扫描:Harbor 定期扫描 Image 并警告用户漏洞。
- LDAP / AD支持:Harbor 与现有企业 LDAP / AD 集成以进行用户身份验证和管理,并支持将 LDAP 组导入 Harbor 并为其分配适当的项目角色。
- Image 删除和垃圾收集:可以删除 Image ,并可以回收它们的空间。
- 公证:可以确保 Image 的真实性。
- 图形用户门户:用户可以轻松浏览,搜索存储库和管理项目。
- 审计:跟踪存储库的所有操作。
- RESTful API:适用于大多数管理操作的 RESTful API,易于与外部系统集成。
- 易于部署:提供在线和离线安装程序。
参考:基于 Distribution / Harbor 部署 Docker 私有镜像仓库 - 云+社区 - 腾讯云 (tencent.com)

浙公网安备 33010602011771号