1、準備一台伺服器A(已安裝docker, IP:192.168.39.111)
2、在伺服器A上透過執行registry容器進行搭建
docker run -itd -v /my_registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
參數說明:
-itd:在容器中開啟一個偽終端機進行互動操作,並在背景執行;
-v:把宿主機的/data/registry目錄綁定到容器/var/lib/registry目錄(這個目錄是registry容器中存放鏡像檔的目錄),來實現資料的持久化;
-p:映射埠;存取宿主機的5000連接埠就存取到registry容器的服務了;
--restart=always:這是重啟的策略,假如這個容器異常退出會自動重啟容器;
--name registry:創建容器命名為registry,你可以隨便命名;
##registry:latest:這個是剛才pull下來的映像;(推薦教學:docker教學)
3、在本地主機B上設定"不安全登錄" 即:http的連線(已安裝docker,IP:192.168.39.215)編輯該daemon.json文件,其預設位置 / etc/docker/daemon.json在Linux或是在C:\ProgramData\docker\config\daemon.jsonWindows Server上。如果您使用Docker Desktop for Mac或Docker Desktop for Windows,請按一下Docker圖標,選擇 Preferences,然後選擇 Daemon。 如果該daemon.json檔案不存在,請建立它。新增以下內容後重啟systemctl restart docker 假設檔案中沒有其他設置,則應具有以下內容:{ "insecure-registries" : ["myregistrydomain.com:5000"] }4、在本地主機B上測試push和pull(1)先對鏡像進行標記(標記需加ip,否則報錯):docker tag busybox 192.168.39.111:5000/bbx:v1(2)push映像:docker push 192.168.39.11:50 /bbx:v1(3)第二步若成功,便可pull 拉取下來: docker pull 192.168.39.111:5000/bbx:v1
總結:注意設定"不安全的註冊表"是在推送的一端設置,不是在鏡像伺服器端。
以上是如何搭建docker私有鏡像伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!