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