Docker爲我們提供了registry搭建本地私有倉庫,registry本身也是以容器的方式執行,下面我們通過具體的步驟來看看如何通過Registry實現自己的私有倉庫,並上傳鏡像到私有倉庫。
1、創建Registry
docker run --name=local_registry --restart=always -p 5000:5000 -v /home/registry:/var/lib/registry -d registry
通過命令:docker ps |grep registry,可以看到新創建好的registry
2、上傳本地鏡像到Registry
#重新標記一個新的鏡像名 (docker需要根據前面的倉庫地址來識別上傳到哪個倉庫)
#nacos/nacos-server爲本地的一個鏡像
#192.168.0.107:5000 是倉庫地址,也就是之前創建的本地鏡像倉庫Registry
#如果想上傳其他版本的鏡像,只需要在鏡像後面添加tag,如:nacos/nacos-server:latest
docker tag nacos/nacos-server 192.168.0.107:5000/nacos/nacos-server
#推送鏡像到192.168.0.107:5000倉庫
docker push 192.168.0.107:5000/nacos/nacos-server
通過訪問地址:http://{服務器IP}:5000/v2/_catalog,發現倉庫中已經成功出現了新上傳的鏡像
3、從其他服務器拉取私有倉庫裏面的鏡像
#編輯docker的配置文件
vim /etc/docker/daemon.json
#添加如下json格式內容:
{
"insecure-registries":["192.168.0.107:5000"]
}
#注:如果原來的daemon.json文件中已經存在內容,只需要在原來內容的json花括號裏面添加就行
#使配置生效
systemctl daemon-reload
systemctl restart docker
#從私有倉庫拉取鏡像
docker pull 192.168.0.107:5000/nacos/nacos-server
#查看鏡像是否拉取下來
docker images | grep nacos
成功獲取到如下相關鏡像:
192.168.0.107:5000/nacos/nacos-server latest 948dd231d8b9 5 weeks ago 721MB