认识
容器镜像可以通过容器镜像仓库进行存储和分享,如 Docker Hub、Google Container Registry 和 Amazon Elastic Container Registry 等。
Docker Registry,镜像仓库,用来存储镜像的仓库。
组成
WIP
性质
WIP
构建
自建的镜像仓库服务
Harbor |
第三方镜像仓库服务
Docker Hub | Container Image Library
Quay | Container Registry | 被 CoreOS 收购,目前提供无限制的共有仓库。对于私有托管,它提供一些可伸缩的计划。
ghcr | GitHub Container Registry
应用
常用 Namespace 命名
- library, third-party, … 存储第三方镜像。
- business-service, service-b, … 存储业务应用镜像。
我们自建镜像仓库的原因
云镜像仓库的费用问题
- 我们极少使用云镜像仓库的功能:云商的镜像仓库功能特性较多,但是我们使用极少使用这些特性,比如全球镜像同步。对于我们来说是额外成本。
- 云商计费方式需要购买更多资源:云商以命名空间与磁盘空间来收费。我们现在有 176 个项目,36 个用户组,我们需要购买更多的云镜像仓库资源。
对比自建镜像仓库,我们能够复用已有主机,仅需支付额外的磁盘费用。而无命名空间和其他限制。
云镜像仓库的技术限制
- 云镜像仓库不支持多级目录:比如 aliyun.com/d3rm/dmon/docker-exporter:latest 是不合法的,只能使用 aliyun.com/d3rm/dmon_docker-exporter:latest 地址。这不利于我们组织和管理镜像。
- 拉取频率限制:DockerHub 目前存在拉针对帐号及地址的取频率限制,已经无法满足需求。
- 镜像拉取速度:受到网络环境的限制,镜像拉取速度比较慢。而各个 Registry Mirror 也受到 拉取频率限制 导致无法获取最新镜像。
对比自建镜像仓库,能够使用多级目录,以进行更好的镜像仓库管理。而且 Harboar 支持作为 Registry Mirror 功能,能降低访问 DockerHub 的频率,并能提高镜像拉取速度。
关于自建镜像仓库
- 维护成本:无需频繁的维护与升级,所以应用维护成本并不高。
- 资源成本:主机复用已有的 op-pub 主机;带宽使用已有带宽;磁盘采购 NAS 网络存储(方便迁移),200G ¥60.00/ 月。