Docker私有仓库部署

1. Registry的部署

运行下面命令获取registry镜像,

$ sudo docker pull registry:2.1.1

然后启动一个容器,

$ sudo docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:2.1.1

Registry服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。

说明我们已经启动了registry服务,打开浏览器输入http://127.0.0.1:5000/v2或者外网地址http://10.109.252.221:5000/v2或者http://192.168.1.208:5000/v2,出现下面情况说明registry运行正常,
这里写图片描述

验证

修改TAG为包含数据仓库地址和镜像名的名称

$ sudo docker tag hello-world 10.109.252.221:5000/hello-world
$ sudo docker push 10.109.252.221:5000/hello-world

现在我们可以查看我们本地/opt/registry目录下已经有了刚推送上来的hello-world。我们也在浏览器中输入http://127.0.0.1:5000/v2/_catalog,如下图所示,
这里写图片描述

$ sudo docker rmi hello-world 
$ sudo docker rmi 10.109.252.221:5000/hello-world

然后使用docker pull从我们的私有仓库中获取hello-world镜像,

可能出现的问题

可能会出现无法push镜像到私有仓库的问题。这是因为我们启动的registry服务不是安全可信赖的。这是我们需要修改docker的配置文件/etc/default/docker,添加下面的内容,

DOCKER_OPTS="--insecure-registry xxx.xxx.xxx.xxx:5000"

当使用多条OPTS时,需要在一条后面添加比如

DOCKER_OPTS="--insecure-registry 192.168.1.208:5000 --insecure-registry 10.109.252.221:5000 --mtu=1454"

然后重启docker后台进程,

$ sudo service docker restart

这是再push即可。PULL时遇到此问题,需要在client上也执行上述操作!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值