Docker Registry构建本地私有仓库

Docker仓库分为公共仓库和私有仓库,在企业测试环境、生产环境推荐自建内部私有仓库,使用私有仓库的优点:
节省网络带宽,针对于每个镜像不用去Docker官网仓库下载;
下载Docker镜像从本地私有仓库中下载;
组件公司内部私有仓库,方便各部门使用,服务器管理更加统一;
可以基于GIT或者SVN、Jenkins更新本地Docker私有仓库镜像版本。
官方提供Docker Registry来构建本地私有仓库,目前最新版本为v2,最新版的docker已不再支持v1,Registry v2使用Go语言编写,在性能和安全性上做了很多优化,重新设计了镜像的存储格式。

1)登陆Docker仓库服务器,下载Docker registry镜像,命令如下:

systemctl start docker 
docker pull registry

2) 启动私有仓库容器,启动命令如下:

mkdir -p /data/registry/
docker run -itd -p 5000:5000 -v /data/registry:/var/lib/registry docker.io/registry
netstat -tnlp|grep -w 5000

在这里插入图片描述

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

vim /etc/sysconfig/docker配置文件:
注释或者删除以OPTION开头的行,然后加入如下两行代码:

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry 192.168.2.101:5000'
ADD_REGISTRY='--add-registry 192.168.2.101:5000'

在这里插入图片描述

重启docker

systemctl restart docker

3) 上传镜像至本地私有仓库:
客户端上传镜像至本地私有仓库,如下以busybox镜像为例,将busybox上传至私有仓库服务器。

docker pull busybox
docker tag busybox 192.168.2.101:5000/busybox
docker push 192.168.2.101:5000/busybox

需要改镜像名称为私有库的IP地址如: 192.168.2.101:5000/busybox

4) 检测本地私有仓库:

curl -XGET http://192.168.2.101:5000/v2/_catalog
curl -XGET http://192.168.2.101:5000/v2/busybox/tags/list

5) 客户端使用本地私有仓库:
登陆Docker客户端,同样在其/etc/sysconfig/docker配置文件添加如下代码,同时重启docker服务,获取本地私有仓库如图24-3所示:
OPTIONS=’–selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry 192.168.2.101:5000’
重启Docker服务,然后从Docker仓库下载busybox镜像,如图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值