centos下搭建docker私有仓库

    目前Docker Registry已经升级到了v2,最新版的Docker已不再支持v1。Registry v2使用Go语言编写,在性能和安全性上做了很多优化,重新设计了镜像的存储格式。此文档是在v1的基础上写的,如果需要安装registry v2,只需下载registry:2.2即可,或者可以下载后面的安装脚本运行安装。

一、下载registry镜像

docker pull registry

二、启动私有仓库容器,默认情况下,会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下

docker run -d -p 5000:5000 -v /data/docker/registry:/tmp/registry registry

三、查看启动进程

docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES

9dc25301d44f        registry            “docker-registry”   20 seconds ago      Up 18 seconds       0.0.0.0:5000->5000/tcp   reverent_ptolemy

四、创建镜像链接或为基础镜像打个标签

docker tag docker.io/centos6.7-base 10.44.86.222:5000/centos6.7-base

五、提交镜像到本地私有仓库中

docker push 10.44.86.222:5000/centos6.7-base

六、如果报以下错误,需要修改/etc/sysconfig/docker文件

Error response from daemon: invalid registry endpoint https://10.44.86.222:5000/v0/: unable to ping registry endpoint https://10.44.86.222:5000/v0/

v2 ping attempt failed with error: Get https://10.44.86.222:5000/v2/: EOF

 v1 ping attempt failed with error: Get https://10.44.86.222:5000/v1/_ping: EOF. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `–insecure-registry 10.44.86.222: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/10.44.86.222:5000/ca.crt

在/etc/sysconfig/docker文件添加以下选项:

other_args=’–insecure-registry 10.44.86.222:5000 –graph=/data/docker/images’

OPTIONS=’–selinux-enabled –insecure-registry 10.44.86.222:5000′

因为从docker1.3.2版本开始默认docker registry使用的是https


七、查看私有仓库是否存在对应的镜像

curl 10.44.86.222:5000/v1/search

{“num_results”: 1, “query”: “”, “results”: [{“description”: “”, “name”: “library/centos6.7-base”}]}




     本文转自aaron428 51CTO博客,原文链接:http://blog.51cto.com/aaronsa/1740747,如需转载请自行联系原作者



点赞