Docker详解(十六)——Docker私有化仓库创建

今天继续给大家介绍Linux运维相关知识,本文主要内容是Docker的私有化仓库创建。

一、Docker私有化仓库搭建准备

对于一些有能力的企业来说,有时希望能够创建一个私有化的Docker仓库,这样一来可以将自己定制的系统发布到自己的仓库里,在保证安全的前提下使用;二来可以节省网络带宽,可以使得Docker仓库的下载在公司内网内完成。接下来,我们开始介绍以下Docker私有化仓库的搭建。
首先,我们来介绍一下本次实战的设备及作用:
1、私有Docker仓库,192.168.136.15,我们将会在该设备上搭建Docker仓库
2、Docker服务端,192.168.136.14,我们将会在该设备上前往私有Docker仓库拉取Docker的镜像。
我们使用docker-registry来实现私有Docker仓库搭建,该工具本身是一个Docker镜像,可以在Docker仓库中拉取下载,如下所示:

在私有化Docker仓库上,我们把该镜像拉取到本地,以供后续使用,如下所示:
Docker详解(十六)——Docker私有化仓库创建_第1张图片
这样,当我们启动Registry镜像后,我们的这台设备就成了一个私有化的Docker仓库了。

二、Docker仓库配置文件编写

因为在我们的实验架构中,暂时还无法通过CA证书实现认证,因此我们的Docker镜像上传和下载过程必须要使用HTTP协议。因此,我们必须修改我们Docker的配置文件使其使用HTTP协议。
在Docker私有仓库和Docker服务器上,我们都要进行如下操作:
打开/etc/sysconfig/docker文件,将其中第四行内容有原来的:

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'

改为:

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry 192.168.136.15:5000'

修改完成后的配置文件如下,其中红圈部分是新添加的内容:

修改完成后,我们需要重新启动Docker,执行命令:

systemctl restart docker

使得我们的配置生效。

三、Registry镜像搭建仓库

接下来,我们启动Registry镜像,在私有化Docker仓库上,执行命令:

docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry docker.io/registry

执行完毕后,该镜像就会监听本地5000端口,如下所示:

此时,我们的本地私有化Docker仓库已经创建成功了。

四、镜像上传

接下来,我们先上传一个Docker镜像。我们使用Docker tag命令将一个本地的镜像重命名为192.168.136.15:5000/为开头,执行命令:

docker tag docker.io/http 192.168.136.15:5000/http:latest

该命令执行结果如下:
Docker详解(十六)——Docker私有化仓库创建_第2张图片
接下来,直接上传该镜像,执行命令:

docker push 192.168.136.15:5000/httpd

该命令执行结果如下:
Docker详解(十六)——Docker私有化仓库创建_第3张图片
该Docker镜像上传完成后,就会在本地的/opt/registry/docker/registry/v2/repositories/目录下,出现我们上传的镜像,如下所示:
Docker详解(十六)——Docker私有化仓库创建_第4张图片

五、效果验证

最后,我们在Docker服务端尝试拉取我们刚刚上传的镜像,执行命令:

docker pull 192.168.136.15:5000/httpd

该命令执行结果如下:

可以看出,我们在Docker服务端上,能够正常拉取该镜像,我们的Docker私有化仓库搭建成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

你可能感兴趣的:(虚拟化运维,Docker,DockerHub,Docker私有化仓库,运维,虚拟化)