设为首页 收藏本站
查看: 2295|回复: 0

[经验分享] docker私有仓库删除image

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-9-20 09:59:00 | 显示全部楼层 |阅读模式
docker仓库存放着公司内部的镜像、时间长了难免存在一些废弃的镜像在里面。如果不删除造成空间的浪费。下面就简单的看看仓库中的镜像是怎么删除的。
第一步:registry启动依赖config.yml配置文件:在默认文件的storage区域中添加delete_enable_ture配置项。也可以在启动时候指定-e添加。允许删除镜像:
配置文件:
wKiom1nAwMyxKZNnAABTQuETG9Q515.png
第二步:下载registry镜像并启动容器。
1
docker run  -d -v /conf/:/etc/docker/registry -v /opt/registry:/var/lib/registry -p5000:5000 --restart=always --name registry docker.io/registr y:latest



wKiom1nAvaKhsjXcAACTVyOn2Bo147.png
第三步:上传镜像

wKiom1nAvaPBkUCqAACaC-uBPSU014.png
前边三个步骤都是为删除镜像做准备。现在正式开始删除操作。
先看下官网怎么说:
wKioL1nAvXCgl0DeAABh0RIC9vE676.png
语法非常简单。官网上注明可以通过name和digest删除image。name我们是知道的。现在去获取digest:
wKiom1nAvaOR8CZeAAB7NreWI_k506.png
删除一个image所需要的name和digest都有了。现在执行删除操作:
[iyunv@docker1 ~]# curl -XDELETE 127.0.0.1:5000/v2/registry_test/manifests/sha256:48b7957fb8794 3139789779c6e1448ce3cbd52adf1eba62f4633c0e289c08c1b
wKioL1nAvXHzQT1TAAB5CN96aG0109.png
看似已经删除了,其实硬盘地址并没有释放。是因为docker删除image只是删除的image的元数据信息。层数据并没有删除。现在进入registry中进行垃圾回收
1
2
3
4
5
6
7
8
9
[iyunv@docker1 ~]# docker exec -it <容器ID|容器名称> /bin/sh
/ # cd /var/lib/registry/
/var/lib/registry # du -sch
10.3M    .
10.3M    total
/var/lib/registry # registry garbage-collect /etc/docker/registry/config.yml
/var/lib/registry # du -sch
28.0K    .
28.0K    total



这样就达到我们的目的了。及删除了仓库容器,又释放了磁盘空间
注意事项:
1、registry配置文件:如果想要进行仓库images的删除操作: 至少要添加REGISTRY_STORAGE_DELETE_ENABLED: true这个环境变量也就是第一步标注的
2、获取digest:自从registry2.3之后,获取digest需要进行安全检查。所以必须加头部信息Accept: application/vnd.docker.distribution.manifest.v2+json。否则获取到的digest将不能使用。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-404763-1-1.html 上篇帖子: 使用docker-compose简化docker run 运行参数 下篇帖子: Centos7 docker push 推送失败
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表