搞定Docker私有仓库Registry

一、什么是Docker私有仓库Registry

官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,那么你就需要Docker Registry,它可以用来存储和管理自己的镜像。

二、安装Docker及Registry

安装Registry:

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

cat registry.sh
docker pull registry:2

echo "运行registry容器"
docker container kill registry
docker container rm registry

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

三、如何使用Registry

我也看过其他博文,经常报的一个错误就是:

unable to ping registry endpoint https://192.168.52.130:5000/v0/
v2 ping attempt failed with error: Get https://192.168.52.130:5000/v2/: http: server gave HTTP response to HTTPS client
这是由于Registry为了安全性考虑,默认是需要https证书支持的.

但是我们可以通过一个简单的办法解决:

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

#vi /etc/docker/daemon.json
{
    "insecure-registries": ["<ip>:5000"] 
    #如:Registry机器ip为 192.168.52.130
    #"insecure-registries": ["192.168.52.130:5000"] 
    #客户端ip为192.168.52.132
    #"insecure-registries": ["192.168.52.132:5000"] 
}
#systemctl daemon-reload 
#systemctl restart docker

注::Registry的机器ip地址,在安装registry的节点和客户端需要访问私有Registry的节点都需要执行此步操作。

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

docker tag inits/nginx1.8 192.168.52.130:5000/nginx1.8:latest

五、上传镜像到Registry

vi   etc/selinux/config
把里边的一行改为 SELINUX=Permissive,改了之后保存,然后重启。
docker push 192.168.52.130:5000/nginx1.8:latest

六、查看Registry中所有镜像信息

curl http://192.168.52.130:5000/v2/_catalog

返回:
{“repositories”:[“centos6.8”,“jenkins1.638”,“nginx”,“redis3.0”,“source2.0.3”,“zkdubbo”]}

七、其他Docker服务器下载镜像

docker pull 192.168.52.130:5000/nginx1.8:latest

八、启动镜像

docker run -d - -p 80:80  -name nginx 192.168.52.130:5000/nginx1.8:latest 

九、修改tomcat配置提交到本地Registry

cat tomcatpush.sh
#!/bin/sh
echo "保存修改的tomcat容器"
docker image rm 192.168.52.130:5000/tomcat:v1 
docker commit  tomcat 192.168.52.130:5000/tomcat:v1
echo "push 到本地库"
docker push 192.168.52.130:5000/tomcat:v1
echo "从本地库 pull tomcat "
docker image rm 192.168.52.130:5000/tomcat:v1
docker image ls
docker pull 192.168.52.130:5000/tomcat:v1
docker image ls

echo "查看本地库"
curl http://192.168.52.130:5000/v2/_catalog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值