- 在本機構建私有倉庫
docker run -d -p 5000:5000 --name registry -v /opt/data/registry:/tmp/registry registry
這個容器始終一直運行在後臺。
將容器發送到私有倉庫
# 假設現有的容器name爲oatest, tag爲latest
docker tag oatest:latest $RegistryIP:5000/$CONTAINER_NAME:$VERSION
docker push $RegistryIP:5000/$CONTAINER_NAME:$VERSION
3. 遠程主機設置私有倉庫的源
在/etc/docker/daemon.json
中加上相關的源配置的信息。
{ "insecure-registries": ["$RegistryIP:5000"] }
# "$RegistryIP需替換爲實際的IP地址。
重啓docker。
sudo service docker restart
可以通過docker info來查看源的設置。
4. 遠程主機向私有倉庫拉取對應的鏡像
docker pull $RegistryIP:5000/$CONTAINER_NAME:$VERSION
5. 更新倉庫中的鏡像
倉庫中的鏡像其實也是有層級緩存的。所以當你push一個name和tag都一致的鏡像時,會用到之前的鏡像層,然後上傳的速度也會加快。
這裏要注意的是,一旦要刪除倉庫裏的鏡像時,就沒那麼簡單了。