今天介紹要如何的建立一個 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 建立起來,指令如下:
參數說明如下:
-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 的名稱
執行成功之後畫面如下:
二. 把第5天做好的 Docker Image Push 到上個步驟架設好的 Docker Registry Server
跟使用 docker hub 一樣要把 Docker Image Push 到 Docker需要先使用 docker tag 的指令如下:
因為這裡是 Demo 所以直接使用 IP 位址指定 Docker Reigstry 的位址,在實務上這是 Hard Code的做法,所以較好做法應該是使用指定 Host Name的方式。
把 Docker Image Push 到 Docker Registry Server 上,指令如下:
畫面如下:
沒有成功的把 Docker Image Push 到 Docker Registry 上
在上個步驟把 Docker Image Push 到 Docker Registry 收到錯誤訊息主要是因為安全性上的問題,需要修改 client 的 Docker 設定,如下
(1) vi /etc/docker/daemon.json
daemon.json 的檔案內容如下
(2) 重新啟動 Docker 的 service 指令如下
4. 重新 push docker image,指令如下
可以看到畫面如下
以上就成功的把 Docker Image Push 到了 Docker Hub 上了
三. 再另外找一臺電腦把 Docker Image Pull下來測試
需要修改 docker 的設定,如下
daemon.json 的檔案內容如下
重新啟動 Docker 的 service 指令如下
Pull docker image 指令如下
執行成功之後畫面如下
閱讀更多 Java高級開發工程師 的文章