建立docker私有仓库时,经历的一些坑,做个记录,希望后来者少走弯路
环境:CentOS7、docker(1.6.2)
安装:
网上安装的教程很多,基本都很简单,yum install docker 基本就可以了,某些 版本操作系统启动时可能会报一个包的错误,具体什么错忘了,解决方法就是升级包yum upgrade device-mapper-libs。
安装私有仓库
docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
这里基本也都没问题
然后下载一个小镜像测试下
docker pull busybox
下载成功后,重新打个tag
docker tag docker.io/busybox 172.16.40.228:5000/busybox
然后push到私有仓库中
docker push 172.16.40.228:5000/busybox
这里开始出问题了,第一个问题,https证书问题,错误如下:
Error: Invalid registry endpoint https://172.16.40.228:5000/v1/: Get https://172.16.40.228:5000/v1/_ping: dial tcp 172.16.40.228:5000: connection refused. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 192.168.112.136:5000` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/172.16.40.228:5000/ca.crt
解决方式
修改/etc/sysconfig/docker(Ubuntu下配置文件地址为:/etc/init/docker.conf),增加启动选项(已有参数的在后面追加)
OPTIONS='--insecure-registry 172.16.40.228:5000'
这样就解决了第一个问题,在此push的时候出了第二个问题,直接500错误
然后通过 docker logs $id得到错误信息如下
很明显,目录没有权限,不过遇到了第二个非常蛋疼的问题,chmod 777了还不行,再度娘,终于找到,中原因是CentOS7中的安全模块selinux把权限禁掉了,解决方法给容器加特权:
docker run -d -p 5000:5000 --privileged=true -v /opt/data/registry:/tmp/registry registry
这样完了之后还是500错误,我就开始怀疑人生了,没办法,继续docker logs $id ,发现错误换了
主键重复,这下想起来,刚才肯定docker的事务没回滚,主键已经被占用,换个tag,再次push,已经好了如图:
OK大功告成,下面两篇参考文章:
http://blog.csdn.net/wangtaoking1/article/details/44180901 解决证书问题。
http://www.linuxidc.com/Linux/2015-03/115124.htm 解决权限问题。
相关推荐
以下操作都基于centos7,在选择ISO镜像或装系统时,可以选择centos7。
centos7搭建任意版本的docker以及建立自己的私有仓库registry,已实践!
31_Docker私有仓库.mp4 59.2MB 30_DockerFile之ONBUILD.mp4 29.1MB 29_DockerFile之CMD, ENTRYPOINT 的区别和联系.mp4 85.8MB 28_DockerFile通过VOLUME实现容器卷.mp4 47.2MB 27_DockerFile构建自定义Tomcat.mp4...
centos7下安装docker和私有仓库,在自己单位搭建完成,以此为例,给大家借鉴。
和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库。 使用私有仓库有许多优点: 节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库...
本篇文章主要介绍了Centos 7中Docker私有仓库的搭建方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
docker私有仓库在虚拟机上创建私有仓库,环境centos6.0
本篇文章主要介绍了详解CentOS 7 : Docker私有仓库搭建和使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文实例讲述了CentOS7.2服务器上搭建Docker私有镜像仓库操作。分享给大家供大家参考,具体如下: 鉴于国内pull镜像的速度较慢,很有必要搭建docker私有或者本地镜像仓库。 安装docker # yum -y install docker #...
两台装有docker的Centos7虚拟机(尽量保证docker的版本都一致) 虚拟机一:192.168.0.124 用作私有仓库 虚拟机二:192.168.0.122 普通用户机 搭建: 1、私有仓库是
随着docker使用的镜像越来越多,就需要有一个保存...两台CentOS7.4,一台为Docker私有仓库;另一台为Docker客户端,测试使用; 两台服务器都需要安装Docker服务,请参考博文:安装Docker.v19版本 1、配置registry私有
docker私有镜像仓库 centos.tar centos.tar centos.tar
为了能集中管理我们创建好的镜像,方便部署服务,我们会创建私有的Docker仓库。通读了一遍官方文档,Docker为了确保安全使用TLS,需要CA认证,认证时间长的要钱啊,免费过期时间太短,还是用自签名比较简单。 准备...
1、安装docker:我用的是centos7 操作系统 3.10,虽然可以直接yum install docker 但安装的docker1.10 稳定版,生产环境要用1.12的所以需要配置下yum源。 操作步骤: 1、 配置yum源 touch /etc/yum.repos.d/...
本篇文章主要介绍了CentOS 7 : Docker私有仓库搭建和使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。