docker私有仓库搭建以及镜像上传、拉取和删除
1.拉取搭建私有仓库的镜像
在搭建docker的私有仓库之前,要先拉取一个官网镜像registry,这个镜像可以帮助我们搭建私有仓库。 通过 docker pull registry 命令,会自动拉取官方最新的registry镜像。
2.启动并验证是否搭建成功
在拉去成功后我们启动一个容器来运行:
docker run -id --name=registry -p 5000:5000 registry
通过这个命令我们指定它的名字为registry,注意我们要用-p分配给它端口号,-p 主机端口号:映射道容器的端口号,可以改成自己想要的端口号。
等待运行后我们先查看该容器是否在运行:
docker ps,用该命令看有无该容器,查看有后我们可以去浏览器输入地址来查看我们的私人仓库: http://私有仓库ip:端口号/v2/_catalog 这里的私人仓库ip是我们linux通过ip addr查看ens33里的ip,例如192.168.100.188。我们访问地址后,如果能看到{"repositories":[]}的字样说明已经成功搭建了私人仓库。
3.修改daemon.json文件
为了方便使用私人仓库,能上传和拉取镜像,我们需要修改daemon.json文件来信任我们的仓库:
vim /etc/docker/daemon.json
通过该命令来修改此文件,我们进入文件内部后,查找到 "insecure-registries": 语句,在里面加一行 "私人仓库ip:端口号" 后保存文件退出就可以了(ip和端口号要改成自己的)。之后我们重启docker服务和registry容器后该配置就生效了。
4.上传镜像到私人仓库
我们上传镜像要先标记我们要上传的镜像为私有仓库镜像:
docker tag 要上传的镜像:标签 私有仓库ip:端口号/自己定义的镜像名:标签
标记后直接用push上传:
docker push 私有仓库ip:端口号/自己定义的镜像名:标签
我们可以到 http://私有仓库ip:端口号/v2/_catalog 地址来查看刚上传的镜像
5.从私人仓库拉取镜像
docker pull私有仓库ip:端口号/自己定义的镜像名:标签
6.删除私人仓库的镜像
我们先查看自己的仓库有哪些镜像:
cur http://私有仓库ip:端口号/v2/_catalog
示例输出:{"repositories":["centos","client","server"]}
也可以查看镜像的名字和标签:
curl http://私有仓库ip:端口号/v2/server/tags/list
示例输出:{"name":"server","tags":["1"]}
我们用该命令来删除镜像:
curl -X DELETE http://私有仓库ip:端口号/v2/镜像名/manifests/标签
在删除之后我们查看它的标签,若是空(示例输出:{"name":"centosr","tags":[]})则说明已经删除了,但仓库里还残留镜像的名字,需要我们手动删除:
# 进入 Registry 容器内部
docker exec -it registry /bin/sh
# 删除 centos 仓库目录(到容器内部操作)
rm -rf /var/lib/registry/docker/registry/v2/repositories/镜像名
# 退出并重启 Registry
exit
docker restart registry
#验证
curl http://私有仓库ip:端口号/v2/_catalog
更多推荐
所有评论(0)