系统环境: CentOS 7.2
192.168.0.179:Docker仓库
192.168.0.60:客户端
安装并启动docker
1
2
3
yum -y install docker
systemctl start docker
systemctl enable docker
搭建私有仓库
179上下载registry镜像
防火墙添加运行5000端口
1
iptables -I INPUT 1 -p tcp –dport 5000 -j ACCEPT
下载完之后我们通过该镜像启动一个容器
docker run -d -p 5000:5000 –privileged=true -v /opt/registry:/tmp/registry registry
参数说明:
-v /opt/registry:/tmp/registry :默认情况下,会将仓库存放于容器内的/tmp/registry目录下,指定本地目录挂载到容器
–privileged=true :CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误(OSError: [Errno 13] Permission denied: ‘/tmp/registry/repositories/liibrary)或者(Received unexpected HTTP status: 500 Internal Server Error)错误
客户端上传镜像
修改/etc/sysconfig/docker(Ubuntu下配置文件地址为:/etc/init/docker.conf),增加启动选项(已有参数的在后面追加),之后重启docker,不添加报错,https证书问题。
1
2
OPTIONS=–insecure-registry 192.168.0.179:5000 #CentOS 7系统
other_args=–insecure-registry 192.168.0.179:5000 #CentOS 6系统
因为Docker从1.3.X之后,与docker registry交互默认使用的是https,而此处搭建的私有仓库只提供http服务
在docker公共仓库下载一个镜像
来修改一下该镜像的tag
1
docker tag centos 192.168.0.179:5000/centos
把打了tag的镜像上传到私有仓库
1
docker push 192.168.0.179:5000/centos
客户端添加私有仓库地址
1
2
# 添加这一行
ADD_REGISTRY=–add-registry 192.168.0.179:5000
加上后,search镜像,私有仓库和docker hub上都会显示;
不加搜索私有仓库,需要命令中指定私有仓库ip
使用仓库中的镜像
查询私有仓库中的所有镜像,使用docker search命令:
1
2
curl -u myuser https://registry_ip:5000/v1/search
curl registry_ip:5000/v1/search
1
2
docker search registry_ip:5000/ #centos 7
docker search registry_ip:5000/library #centos 6
查询仓库中指定账户下的镜像,则使用如下命令:
1
docker search registry_ip:5000/account/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/fgf00/article/details/52040492
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。