建立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,已实践!
搭建私有仓库 179上下载registry镜像 docker pull registry 防火墙添加运行5000端口 iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT 下载完之后我们通过该镜像启动一个容器 代码如下: docker run -d -p 500
centos7下安装docker和私有仓库,在自己单位搭建完成,以此为例,给大家借鉴。
和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库。 使用私有仓库有许多优点: 节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库...
本篇文章主要介绍了Centos 7中Docker私有仓库的搭建方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
docker私有仓库在虚拟机上创建私有仓库,环境centos6.0
本文实例讲述了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私有
centos7 64位 ubuntu16.04 64位(用于测试私有仓库) 本文分为四个部分: 第一部分: 安装docker 第二部分: 镜像的操作 第三部分: 容器的操作 第四部分: 私有仓库的创建 第一部分: 安装docker # 通过yum源安装...
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/...
本次总结涉及到Docker-io、Docker-ce的安装、CentOS7镜像的制作、Docker私有仓库搭建、CentOS6.7环境下从CentOS7私有仓库拉取私有镜像、Docker容器运行、CentOS6.5及CentOS7一起运行时兼容性处理等内容。 一、Docker...
docker run -it docker.io/centos:latest 2.修改配置 配置yum源 3.安装软件包 安装日常使用软件包 4.把容器做成镜像 docker commit c2dd02ea96ed docker.io/myos:latest 5.验证 Dockerfile语法结构 FROM:基础镜像 ...
依据《CentOS7部署安装Docker和Docker Compose工具简录》部署安装Docker环境 # 运行registry容器,并将其数据目录挂载到本地 docker pull registry:2.7 docker run -d -p 5000:5000 --restart always --name ...
本篇文章主要介绍了CentOS 7 : Docker私有仓库搭建和使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。