私有仓库的搭建

1.拉取私有仓库的镜像

docker pull registry

拉取docker私有仓库镜像

2.创建仓库容器并运行

docker run -d -v /home/registory:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest
为什么是 /var/lib/registry/ 目录?

仓库默认存放镜像等信息在容器的 /var/lib/registry/docker 目录下,可以进入该目录查看已上传镜像信息,即使私有仓库的容器被误删,再次创建此容器,之前的镜像依然存在。
在这里插入图片描述

docker ps 可以看到仓库容器正在运行。进入到/home下,可以看到registory文件夹

在这里插入图片描述

3.以nginx镜像为例,将其推送到私有仓库

(1)拉取nginx,如果拉取镜像超时,请配置docker镜像加速

docker pull nginx

(2)将nginx重新tag,注意:“/”前边是你的仓库所在服务器的ip+映射的端口

docker tag nginx:latest 192.168.58.140:5000/nginxtest:latest

(3)将其推送到私有仓库

docker push 192.168.58.140:5000/nginxtest:latest

在这里插入图片描述
(4)会出现报错
在这里插入图片描述
原因是docker私有仓库服务器,默认是https协议,所以我们需要进行修改不使用https

vi /etc/docker/daemon.json			//如果没有此文件,请创建

添加下面这段代码

"insecure-registries":["192.168.58.140:5000"]

在这里插入图片描述

重启docker服务:

systemctl daemon-reload
systemctl restart docker

(5)再次将镜像推送到私有仓库,即可推送成功

docker push 192.168.58.140:5000/nginxtest:latest

在这里插入图片描述
查看仓库镜像,查看推送成功~~~~
在这里插入图片描述

4.测试:

(1)删除本地存在的192.168.58.140:5000/nginxtest:latest镜像

docker rmi 192.168.58.140:5000/nginxtest:latest

看到镜像已经被删除
在这里插入图片描述

(2)拉取镜像

docker pull 192.168.58.140:5000/nginxtest:latest

在这里插入图片描述
(3)镜像拉取成功~~~~

参考文章:https://www.cnblogs.com/subendong/p/9029495.html

5.查看私有仓库镜像

1)查看私有仓库执行此命令:
curl -XGET http://ip:端口/v2/_catalog

在这里插入图片描述

2)获取某个镜像的标签列表:
curl -XGEThttp://192.168.1.8:5000/v2/私有仓库镜像名称/tags/list

在这里插入图片描述

6.结束

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐