1、拉取镜像
docker pull registry
2、配置私有仓库地址
vim /etc/docker/daemon.json
输入如下参数,注意修改为自己的ip地址:
"insecure-registries":["http://192.168.100.129:5000"]
结果如下:
{ "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ], "insecure-registries":["http://192.168.100.129:5000"] }
3、重启docker
systemctl restart docker
4、创建容器
docker run -itd --name=registry --restart=always -v /registry:/var/lib/registry -p 5000:5000 registry
5、重新加载配置
systemctl daemon-reload
6、浏览器访问
http://192.168.100.10:5000/v2/_catalog
6.1如果访问不到,尝试关闭防火墙
systemctl stop firewalld && systectl disable firewalld
6.2如果访问不到,重启一下docker
systemctl restart docker
然后重新运行一下容器.
7、验证上传镜像到私有仓库
拉取之后我们看一下镜像名称及版本:
至此我们就有了一个nginx镜像,接下来我们使用 push 指令将镜像推送到刚刚搭建的registry中:
#标记nginx该镜像需要推送到私有仓库 docker tag nginx:latest 127.0.0.1:5000/nginx:latest #通过push指令推送到私有仓库 docker push 127.0.0.1:5000/nginx:latest
再来访问:http://192.168.100.130:5000/v2/_catalog
我们可以看到私有仓库目录已经有刚刚推送上去的 nginx 镜像了。
8、验证从私有仓库下载镜像
验证完了上传,我们再来测试一下下载镜像:
# 格式如下: docker pull 127.0.0.1:5000/镜像名称:镜像版本号 # 以nginx为例: docker pull 127.0.0.1:5000/nginx
那么我们就通过IP地址测试一下:
docker pull 192.168.100.130:5000/nginx:latest