1、準(zhǔn)備一臺(tái)服務(wù)器A(已安裝docker, IP:192.168.39.111)
2、在服務(wù)器A上通過運(yùn)行registry容器進(jìn)行搭建
docker run -itd -v /my_registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
參數(shù)說明:
-itd:在容器中打開一個(gè)偽終端進(jìn)行交互操作,并在后臺(tái)運(yùn)行;
-v:把宿主機(jī)的/data/registry目錄綁定 到 容器/var/lib/registry目錄(這個(gè)目錄是registry容器中存放鏡像文件的目錄),來實(shí)現(xiàn)數(shù)據(jù)的持久化;
-p:映射端口;訪問宿主機(jī)的5000端口就訪問到registry容器的服務(wù)了;
–restart=always:這是重啟的策略,假如這個(gè)容器異常退出會(huì)自動(dòng)重啟容器;
–name registry:創(chuàng)建容器命名為registry,你可以隨便命名;
registry:latest:這個(gè)是剛才pull下來的鏡像;
(推薦教程:docker教程)
3、在本地主機(jī)B上配置"不安全注冊(cè)表" 即:http的連接(已安裝docker,IP:192.168.39.215)
編輯該daemon.json文件,其默認(rèn)位置 /etc/docker/daemon.json在Linux或者是在C:ProgramDatadockerconfigdaemon.jsonWindows Server上。如果您使用Docker Desktop for Mac或Docker Desktop for Windows,請(qǐng)單擊Docker圖標(biāo),選擇 Preferences,然后選擇+ Daemon。
如果該daemon.json文件不存在,請(qǐng)創(chuàng)建它。添加以下內(nèi)容后重啟systemctl restart docker
假設(shè)文件中沒有其他設(shè)置,則應(yīng)具有以下內(nèi)容:
{ "insecure-registries" : ["myregistrydomain.com:5000"] }
4、在本地主機(jī)B上測(cè)試push和pull
(1)先對(duì)鏡像進(jìn)行標(biāo)記(標(biāo)記需加ip,否則報(bào)錯(cuò)):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
總結(jié):注意設(shè)置"不安全的注冊(cè)表"是在推送的一端設(shè)置,不是在鏡像服務(wù)器端。