建立 private 的 Docker Registry

建立 private 的 Docker Registry

今天介绍要如何的建立一个 Private(私有) 的 Docker Registry

今天要实作的部份如下:

1. 建立 Docker Registry Server

2. 把第5天做好的 Docker Image Push 到上个步骤架设好的 Docker Registry Server

3. 找另外一台电脑把 Docker Image Pull下来测试

一. 建立 Docker Registry Server

*直接透过启动 Docker container 的方式,就可以把 Docker Registry Server 建立起来,指令如下:

建立 private 的 Docker Registry

参数说明如下:

-d:执行的 docker container 是 run 在背景的状态,所以需要使用 docker logs 的指令才可以看到 log 状态

-p:主机的 5000 port mapping 到 container 的 5000 port

-v:因为push 到docker registry 的资料是放在container 里面的,如果把docker container 删除掉docker registry 的Image 资料就会不见,因此需要使用–v 参数将主机的档案路径mapping 到container 里面的档案路径,这样docker container 被删除docker registry 的Image 资料还会存在

--name:设定 docker container 的名称

执行成功之后画面如下:

建立 private 的 Docker Registry

二. 把第5天做好的 Docker Image Push 到上个步骤架设好的 Docker Registry Server

跟使用 docker hub 一样要把 Docker Image Push 到 Docker需要先使用 docker tag 的指令如下:

建立 private 的 Docker Registry

因为这里是 Demo 所以直接使用 IP 位址指定 Docker Reigstry 的位址,在实务上这是 Hard Code的做法,所以较好做法应该是使用指定 Host Name的方式。

把 Docker Image Push 到 Docker Registry Server 上,指令如下:

建立 private 的 Docker Registry

画面如下:

建立 private 的 Docker Registry

没有成功的把 Docker Image Push 到 Docker Registry 上

在上个步骤把 Docker Image Push 到 Docker Registry 收到错误讯息主要是因为安全性上的问题,需要修改 client 的 Docker 设定,如下

(1) vi /etc/docker/daemon.json

daemon.json 的档案内容如下

建立 private 的 Docker Registry

(2) 重新启动 Docker 的 service 指令如下

建立 private 的 Docker Registry

4. 重新 push docker image,指令如下

建立 private 的 Docker Registry

可以看到画面如下

建立 private 的 Docker Registry

以上就成功的把 Docker Image Push 到了 Docker Hub 上了

三. 再另外找一台电脑把 Docker Image Pull下来测试

需要修改 docker 的设定,如下

建立 private 的 Docker Registry

daemon.json 的档案内容如下

建立 private 的 Docker Registry

重新启动 Docker 的 service 指令如下

建立 private 的 Docker Registry

Pull docker image 指令如下

建立 private 的 Docker Registry

执行成功之后画面如下

建立 private 的 Docker Registry


分享到:


相關文章: