一、前言
本案例使用阿里云服务器搭建,笔者将registry和docker镜像编译分开在两台机器,小伙伴们实际使用,可以在一台机器操作即可。
环境:Centos7
registry服务器 IP:47.100.219.117
docker镜像编译服务器 IP:106.14.171.48
二、安装运行docker
yum install docker
service docker start
三、搭建registry
在 registry服务器 IP:47.100.219.117 上执行
1、我们使用2.6.0版本的registry
docker pull registry:2.6.0
2、启动容器,让其跟随docker 启动
docker run -d --name registry -p 5000:5000 --restart=always -v /opt/wy/docker/registry/:/var/lib/registry/ registry:2.6.0
注意:/opt/wy/docker/registry/ 路径是为了将上传在容器内的镜像持久化到本地的路径。
启动成功
3、访问ip:端口/v2/_catalog 查看镜像
4、测试上传
先拉一个镜像(这里只是用busybox做演示,因为小...)
docker pull busybox
重命名 使用registry服务器地址和端口作为前缀
docker tag busybox 47.100.219.117:5000/busybox
docker push 47.100.219.117:5000/busybox
啊哦,报错了,这个错误笔者在之前blog中有提到过,就不过多阐述(参考:centos 7 下 docker registry push 提示“server gave HTTP response to HTTPS client”),修改后记得重启docker(service docker restart),然后重新push
上传成功,访问ip:端口/v2/_catalog 查看镜像
OK了,上传成功,尝试下拉取
好了,无鉴权的registry搭建完成
四、为编译服务器开通远程访问权限
docker镜像编译服务器 IP:106.14.171.48
vim /lib/systemd/system/docker.service
这句修改为如下,并保存
重新载入并重启docker
systemctl daemon-reload
systemctl restart docker
至此搭建私有registry及打开docker镜像编译服务器远程访问权限全部OK。