知乎十万级容器规模的分布式镜像仓库实践
知乎在 2016 年已经完成了全量业务的容器化,并在自研容器平台上以原生镜像的方式部署和运行,并在后续陆续实施了 CI、Cron、Kafka、HAProxy、HBase、Twemproxy 等系列核心服务和基础组件的容器化。知乎既是容器技术的重度依赖者,也是容器技术的深度实践者,我们会陆续把容器技术的实践经验通过专栏和大家进行分享,本篇文章分享知乎在镜像仓库这个容器技术核心组件的生产实践。 基础背景 容器的核心理念在于通过镜像将运行环境打包,实现“一次构建,处处运行”,从而避免了运行环境不一致导致的各种异常。在容器镜像的发布流程中,镜像仓库扮演了镜像的存储和分发角色,并且通过 tag 支持镜像的版本管理,类似于 Git 仓库在代码开发过程中所扮演的角色,是整个容器环境中不可缺少的组成部分。 镜像仓库实现方式按使用范围可以分为 Docker Hub 和 Docker Registry 两类,前者是在公网环境下面向所有容器使用者开放的镜像服务,后者是供开发者或公司在内部环境下搭建镜像仓库服务,由于公网下载镜像的网络带宽、延迟限制以及可控性的角度考虑,在私有云环境下通常需要采用 Docker...
