Docker默認(rèn)不允許非HTTPS方式推送鏡像盹靴。我們可以通過Docker 的配置選項(xiàng)來取消這個(gè)限制,或者查看下一節(jié)配置能夠通過HTTPS訪問的私有倉庫刻恭。在瀏覽器中通過https無法訪問到資源,但是可以通過http可以訪問。你不想使用127.0.0.1:5000作為倉庫地址,比如想讓本網(wǎng)段的其他主機(jī)也能把鏡像推送到私有倉庫。你就得把例如192.168.199.100:5000這樣的內(nèi)網(wǎng)地址作為私有倉庫地址,這時(shí)你會(huì)發(fā)現(xiàn)無法成功推送鏡像南缓。你需要去配置私有倉庫。
準(zhǔn)備一臺(tái)機(jī)器作為私有倉庫
stacke 10.108.xxx.xxx
倉庫地址 /docker-registry
端口號(hào):9876
下載倉庫鏡像
sudo docker pull registry
下載前先看下是否之前已經(jīng)搭建過
運(yùn)行鏡像倉庫
sudo docker run -d -p 9876:9876 --restart=always -v /docker-registry:/tmp/registry registry
倉庫的上傳
在推送之前需要先docker tag標(biāo)記一下鏡像,在鏡像名中加入私有倉庫的ip:port
私有倉庫的ip一般使用127.0.0.1:5000荧呐,注意如果不使用127.0.0.1就需要進(jìn)行配置使可以通過http訪問資源
docker tag ubuntu:latest 10.108.xxx.xxx:9876/ubuntu:latest
推送
docker push 10.108.xxx.xxx:9876/ubuntu:latest
使用curl查看倉庫中的鏡像
curl 10.108.xxx.xxx:9876/v2/_catalog
從私有鏡像上下載鏡像
docker pull 10.108.xxx.xxx:9876/ubuntu:latest
ubuntu16.04系統(tǒng)中/etc/docker/daemon.json添加
{
"registry-mirror": [
"https://registry.docker-cn.com"
],
"insecure-registries": [
"192.168.199.100:5000"
]
}