搭建私有镜像仓库
创建私有仓库
下载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端口
netstat -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