教你分分钟搞定Docker私有仓库Registry

1、什么是Docker私有仓库Registryhtml

官方的Docker hub是一个用于管理公共镜像的好地方,咱们能够在上面找到咱们想要的镜像,也能够把咱们本身的镜像推送上去。可是,有时候咱们的服务器没法访问互联网,或者你不但愿将本身的镜像放到公网当中,那么你就须要Docker Registry,它能够用来存储和管理本身的镜像。nginx

2、安装Docker及Registryredis

安装Docker见以前博文:docker

http://www.cnblogs.com/Javame/p/5492543.htmljson

安装Registry:centos

很简单,只须要运行一个Registry容器便可(包括下载镜像和启动容器、服务)安全

docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry --name registry --restart=always registry

3、如何使用Registrybash

我也看过其余博文,常常报的一个错误就是:服务器

unable to ping registry endpoint https://172.18.3.22:5000/v0/
v2 ping attempt failed with error: Get https://172.18.3.22:5000/v2/: http: server gave HTTP response to HTTPS client

这是因为Registry为了安全性考虑,默认是须要https证书支持的.curl

可是咱们能够经过一个简单的办法解决:

修改/etc/docker/daemon.json文件

#vi /etc/docker/daemon.json
{ "insecure-registries": ["<ip>:5000"] }
#systemctl daemon-reload
#systemctl restart docker
注:<ip>:Registry的机器ip地址,在安装registry的节点和客户端须要访问私有Registry的节点都须要执行此步操做。

4、经过 docker tag重命名镜像,使之与registry匹配

docker tag inits/nginx1.8 <ip>:5000/nginx1.8:latest

5、上传镜像到Registry

docker push <ip>:5000/nginx1.8:latest

6、查看Registry中全部镜像信息

curl http://<ip>:5000/v2/_catalog
返回:
{"repositories":["centos6.8","jenkins1.638","nginx","redis3.0","source2.0.3","zkdubbo"]}

 

7、其余Docker服务器下载镜像

docker pull <ip>:5000/nginx1.8:latest

8、启动镜像

docker run -it <ip>:5000/nginx1.8:latest /bin/bash
相关文章
相关标签/搜索