https://blog.csdn.net/u012371097/article/details/83781201
Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库;
一、本地下载registry
sudo docker pull registry:2
二、启动容器运行registry镜像
docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry registry:2
说明:
-d ==> 作为daemon进程启动,也就是后台启动
-v /opt/registry:/tmp/registry ==> 默认情况下,会将仓库存放于容器内的/tmp/registry目录下,指定本地目录/opt/registry挂载到容器,可以防止容器意外停止后镜像的丢失。
-p 5000:5000 ==> 前一个5000是host的端口,后一个是容器的端口。这里是将容器的5000端口映射到host的5000端口
- 配置https权限支持
vi /etc/docker/daemon.json
- 防火墙添加5000端口
-
firewall-cmd --zone=public --add-port=5000/tcp --permanent
-
firewall-cmd --reload
- 重启docker服务
systemctl restart docker
- 上传镜像到本地私有库:registry
先下载busybox镜像作为示例:
docker pull busybox
- 修改镜像的tag
docker tag busybox 192.168.10.59:5000/busybox
- 推送镜像到本地仓
docker push 192.168.10.59:5000/busybox
报错如下:
解决办法:禁用selinux;
禁用selinux参考我的博文:Centos禁用SELinux
上传成功:
三、查看上传的镜像
curl http://192.168.10.59:5000/v2/_catalog
- 从本地仓库拉取镜像
docker pull 192.168.10.59:5000/busybox