首先,Docker Hub是一个很好的用于管理公共镜像的地方,我们可以在上面找到想要的镜像(Docker Hub的下载量已经达到数亿次);而且我们也可以把自己的镜像推送上去。但是,有的时候,使用场景需要我们有一个私有的镜像仓库用于管理自己的镜像,这个时候我们就通过Registry来实现此目的。本文详细介绍了本地镜像仓库Docker Registry & Portus的搭建过程(Portus是一个带UI管理的仓库管理软件),对于文中细节有兴趣或有疑问的朋友欢迎加群讨论。
Registry搭建篇
Docker & Registry环境准备
在谈到Registry的部署之前,我们首先要考虑设计一个什么样Registry的仓库环境,是部署测试环境,还是生产环境。如果是用于生产环境发布Registry,必须考虑如下因素:
a. 应在何处存储镜像?
b. 用户的权限是否受控?
c. 当发生问题,如何解决?日志是否可以查看?
d. 如何快速提取镜像?(注:这是至关重要的,如果依赖镜像进行构建测试环境、生产环境或自动化系统,这是取决仓库是否有生命力的最重要指标。)
本实例把存储镜像的路径放置到宿主机的文件路径下。例如:/opt/myregistry目录中。这样即使宿主机中Docker Registry 出现问题,我们再重创建一个,把此路径添加到新Registry Server中,那么之前上传的镜像文件仍然存在,这就更方便大家使用。下面是安装之前进行的一些准备工作:
1.Docker安装
首先,选择一个合适的PC机做宿主机,其配置参数如下:
CPU: Intel E8400 Duo CPU 3.0GHz RAM: 2G disk:300G
CPU查看命令: more /proc/cpuinfo |grep "model name"
Mem查看命令: grep MemTotal /proc/meminfo
2.Registry安装
由于Docker和Registry更新比较快,所以我们在此宿主机中进行安装的时候,选择Registry2.1版本进行安装。
yum -y install docker-registry
Registry搭建篇
Docker & Registry环境准备
在谈到Registry的部署之前,我们首先要考虑设计一个什么样Registry的仓库环境,是部署测试环境,还是生产环境。如果是用于生产环境发布Registry,必须考虑如下因素:
a. 应在何处存储镜像?
b. 用户的权限是否受控?
c. 当发生问题,如何解决?日志是否可以查看?
d. 如何快速提取镜像?(注:这是至关重要的,如果依赖镜像进行构建测试环境、生产环境或自动化系统,这是取决仓库是否有生命力的最重要指标。)
本实例把存储镜像的路径放置到宿主机的文件路径下。例如:/opt/myregistry目录中。这样即使宿主机中Docker Registry 出现问题,我们再重创建一个,把此路径添加到新Registry Server中,那么之前上传的镜像文件仍然存在,这就更方便大家使用。下面是安装之前进行的一些准备工作:
1.Docker安装
首先,选择一个合适的PC机做宿主机,其配置参数如下:
CPU: Intel E8400 Duo CPU 3.0GHz RAM: 2G disk:300G
CPU查看命令: more /proc/cpuinfo |grep "model name"
Mem查看命令: grep MemTotal /proc/meminfo
2.Registry安装
由于Docker和Registry更新比较快,所以我们在此宿主机中进行安装的时候,选择Registry2.1版本进行安装。
yum -y install docker-registry