搭建私有的docker镜像仓库

搭建私有的docker镜像仓库

Scroll Down

搭建私有镜像仓库

docker运行原理图

创建私有仓库

下载registry镜像

docker pull registry

创建一个私有镜像仓库的目录

mkdir -p /root/images

运行私有仓库容器

docker run -d -p 5000:5000 --restart=always -v /root/images:/var/lib/registry –name egistry registry:2

验证

mkdir -p /root/images

修改docker配置文件

vim /usr/lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.50.129:5000
....

重启docker服务

systemctl daemon-reload
systemctl restart docker.service

验证是否打开5000端口

nestat -anpt | grep 5000

如若没有开启则重新开启容器

docker start 容器ID

重命名镜像(必须是本地IP地址+端口的形式)

docker tag busybox:latest 192.168.50.129:5000/busybox

将修改好名字的镜像上传到私有仓库

docker push 192.168.50.129:5000/busybox

上传好镜像可以在我们一开始指定的目录下查看到
可以删除镜像进行验证

docker rmi 192.168.50.129:5000/busybox

之后下载

docker pull 192.168.50.129:5000/busybox

验证成功

让其他主机也可以访问这个私有镜像仓库

先测试连通性

ping 私有仓库IP

修改docker配置文件

vim /usr/lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.50.129:5000

重启docker服务

systemctl restart docker.service 
systemctl daemon-reload

按所需进行修改防火墙规则(这里我就直接清了)

iptables -F
iptables-save

下载镜像并进行验证

docker pull 192.168.50.129:5000/busybox

==注:docker私有仓库默认存放镜像的目录==
宿主机目录:

/var/lib/docker/volumes/93dd96e9ebea48960e53faf63bcc27e6ec2cb3a0b8afb8b6abee422db38faba6/_data/docker/registry/v2/repositories/myfirstimage

容器内部:

/var/lib/registry/docker/registry/v2/repositories/myfirstimage

查找方法:find / -name myfirstimage

完结撒花