建立 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


分享到:


相關文章: