docker私有仓库基本操作

docker仓库:

官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。
但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,那么你就需要Docker Registry,它可以用来存储和管理自己的镜像。

安装仓库:

运行仓库

docker run -d -p 5000:5000 -v /docker/images/:/var/lib/registry --name registry --restart=always registry
# 默认情况下,会将仓库存放于容器内的/var/lib/registry目录下,如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/var/lib/registry下
# --restart=always 重启docker后会自动启动容器

registry为了安全性考虑,默认是需要https证书支持,故会报错
修改配置文件

vim /usr/lib/systemd/system/docker.service
Execstart 中加入--insecure-registry=ip:5000
systemctl daemon-reload
systemctl restart docker

上传镜像至私有仓库:

docker tag nginx ip:5000/nginx:1.0  #上传之前需要给tag打上标签,使其与仓库ip进行对应
docker push ip:5000/nginx:1.0      #上传

查看私有仓库中的镜像:

curl ip:5000/v2/_catalog    #查看所有的镜像
curl ip:5000/v2/nginx/tags/list  #查看镜像的所有版本

拉取镜像:

docker pull ip:5000/nginx:1.0 #仓库/镜像名:版本
删除镜像
1.启用删除API
2.获取哈希
3.进行逻辑上的删除
4.对其进行逻辑上的删除
5.删除对应的数据即存在_catalog中的数据


docker exec -it d697e31fae97 vi /etc/docker/registry/config.yml 
#在rootdirectory: /var/lib/registry下面加入
delete.enabled:true

获取对应哈希256的值
curl --header "Accept: application/vnd.docker.distribution.manifest.v2+json" -I -X GET 10.3.135.12:5000/v2/nginx(镜像名称)/manifests/1.0(版本号tag) 
sha256:ee89b00528ff4f02f2405e4ee221743ebc3f8e8dd0bfd5c4c20a2fa2aaa7ede3 

curl -I -X DELETE 10.3.135.12:5000/v2/nginx/manifests/sha256:ee89b00528ff4f02f2405e4ee221743ebc3f8e8dd0bfd5c4c20a2fa2aaa7ede3   #对其目标镜像进行逻辑删除

registry garbage-collect /etc/docker/registry/config.yml #在容器内执行清理垃圾

rm -rf /docker/images/docker/registry/v2/repositories/nginx #删除对应的数据
扩展添加webui
docker pull hyper/docker-registry-web
docker run -d -p 5000:5000 -v /docker/images/:/var/lib/registry --name registry --restart=always registry 
docker run -d -p 8080:8080 --name registry-web --link registry -e REGISTRY_URL=http://192.168.10.11:5000/v2 -e REGISTRY_NAME=192.168.10.11:5000  hyper/docker-registry-web
#就有了web可视化页面没什么用处
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值