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:ProgramDatadockerconfigdaemon.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.111:5000/bbx:v1
(3)第二步若成功,便可pull 拉取下來:?docker pull 192.168.39.111:5000/bbx:v1
總結:注意設置”不安全的注冊表”是在推送的一端設置,不是在鏡像服務器端。