[转帖]harbor镜像仓库清理操作
https://www.cnblogs.com/FengGeBlog/p/15517706.html
两年前清理过一次harbor镜像,而现在又要面临清镜像的操作了,笔者目前所在的公司镜像是存放在ceph集群内部的,目前约200T,且该存储池是两副本,那么占用空间是400T左右。真的是相当浪费空间了。
harbor镜像仓库由于过大,需要清理老版本镜像,以释放空间。清理之前有一些需要注意事项,提前说一下
1、太老版本的harbor可能不带有清理机制(也就是下文讲的清理操作)
2、清理期间harbor仓库处于只读状态,期间不能推镜像,但可以拉镜像。清理的过程也称为gc
3、生产环境当中的harbor只读是不被允许的,因此开发出在线不停服gc的功能会更加受用(目前网上没有找到该案例,需要自己研发)
实践过程如下:
1、现在仓库有如下镜像

2、harbor镜像仓库存放的位置
一般上来说,harbor本身就是由docker跑起来的。harbor的数据存储是在容器goharbor/harbor-registryctl当中。进入到这个容器内部,找到/storage/docker/registry/v2目录,可以看到blobs和repositories两个目录。如下所示:
root [ /storage/docker/registry/v2 ]# du -sm *
1140 blobs
1 repositories
实际上,容器内部的/storage/docker/registry/v2目录对应的是宿主机上的/data/registry/docker/registry/v2目录。
当我们推上去一个镜像的时候,blobs目录的大小会随之发生变化,至于增大多少空间,取决于你在harbor里面看到的镜像大小,如图所示:
大约是702MB。所以上面看到的blobs目录的大小就是在推上去一个gitlab镜像后,由原来的438MB增长到现在的1140MB
3、开始清理
清理操作我们可以在harbor的webUI界面上来点点进行删除,镜像超级多的时候就是有点费手。
选中并删除,删除成功后会在右侧进行提示。但是这种删除只是逻辑上的删除,并不会真正释放空间,可以去/storage/docker/registry/v2验证一下看看,空间还是没有释放。所以还需要下面的一步
4、垃圾清理(在线gc)
点击进行垃圾清理操作,期间会在下面生成一个清理任务。注意清理期间harbor仓库处于只读状态,此时不可推镜像。
显示已完成表示清理成功了
5、验证空间是否释放
此时再去查看空间
root [ /storage/docker/registry/v2 ]# du -sm *
438 blobs
1 repositories
发现空间释放了。
[转帖]harbor镜像仓库清理操作的更多相关文章
- harbor镜像仓库-02-https访问配置
harbor镜像仓库-02-https访问配置 harbordockerhttps harbor搭建部署参考上一章节 harbor镜像仓库-01-搭建部署 Harbor默认使用http,给harbor ...
- harbor镜像仓库-01-搭建部署
harbor镜像仓库-01-搭建部署 dockerregistryharbor安装部署docker-compose harbor的https配置参考另一章节harbor镜像仓库-02-https访问配 ...
- Harbor镜像仓库
Harbor镜像仓库 作者 刘畅 时间 2020-7-11 微信 目录 1.下载离线安装包 1 2.安装docker 1 3.安装docker-compose 2 4.自签TLS证书 2 4.1.创建 ...
- Docker镜像仓库清理的探索之路
用友云开发者中心是基于Docker容器进行微服务架构应用的落地与管理.相信各位同学在使用的过程中,会发现随着Docker镜像的增多,占用磁盘空间也约来越多.这时我们需要清理私有镜像仓库中不需要的镜像. ...
- CentOS部署Harbor镜像仓库
关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全.标识.管理等方面做了增强,更适合企业使用: 官方网站:https: ...
- 企业级 Harbor 镜像仓库
Harbor是由VMWare公司开源的容器镜像仓库.事实上,Harbor是在Docker Registry上进行了相应 的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基 ...
- harbor镜像仓库-https访问配置
1. 证书的生成 在测试或开发环境中,您可以选择使用自签名证书,而不是来自受信任的第三方CA的证书.以下内容将向您展示如何创建自己的CA,并使用您的CA签署服务器证书和客户端证书. 1.1 生成c ...
- docker登录没有配置https的harbor镜像仓库
已经搭建harbor 仓库 ,域名 172.16.1.99 出现问题: 客户端尝试登录 仓库 [root@localhost docker]# docker login 172.16.1.99:80 ...
- Harbor私有镜像仓库(下)
Harbor私有镜像仓库(下) 链接:https://pan.baidu.com/s/1MAb0dllUwmoOk7TeVCZOVQ 提取码:ldt5 复制这段内容后打开百度网盘手机App,操作更方便 ...
- docker进阶-搭建私有企业级镜像仓库Harbor
为什么要搭建私有镜像仓库 对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...
随机推荐
- CSS 基础 4 - CSS 常用单位
CSS 基础 4 - CSS 常用单位 px:基础单位 em:相对当前父容器的系数,可以累乘 rem:相对根 <html> 的系数,方便计算 vw/vh:viewport width/he ...
- 化蛹成蝶,华为云DevCloud助力互联网+转型,重构钢铁产业链
摘要:随着电子商务迅速发展,各个行业巨头纷纷投入互联网+的怀抱,钢铁行业作为典型的传统行业,如何实现华丽转身,拥抱市场,加快产业新旧动能转换? 本文分享自华为云社区<化蛹成蝶,华为云DevClo ...
- 五大不良 coding 习惯,你占了几样?
在之前的文章中,我们一起解读了2021年数据成本报告.根据 IBM 和 Ponemon Institute 2021年的报告,全球平均数据泄露成本约为424万美元.为了降低数据泄露造成的成本,企业可以 ...
- [BitSail] Connector开发详解系列四:Sink、Writer
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 Sink Connector BitSail Sink Connector交互流程介绍 Sink:数据写入组件的生 ...
- 高性能 Jsonpath 框架,Snack3 3.2.57 发布
Snack3,一个高性能的 JsonPath 框架 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计.其下一切数据都以ONode表示,ONode也 ...
- PPT 如何做出高大上的表格
字不如表.表不如图 如何做 https://www.bilibili.com/video/BV1ha411g7f5?p=17
- System.out.printf 格式化输出
System.out.printf @Test public void printTest() throws Exception { String str = "安倍晋三已无生命体征!!&q ...
- Grafana--添加用户
版本:6.5.2 添加用户: 设置账号密码: 设置账号权限(新增的用户都是仅查看的权限):
- MMSC 扩充物料库存地点
当涉及到物料的库存地点时,系统通常会做校验,该物料是否扩充了库存地点,没有扩充则报错.为了不使这样的错误干扰到程序逻辑,通常会在涉及时,先查询MARD表,判断是否存在对应的库存地点.如果没有存在,则直 ...
- AtCoder ABC 181 个人题解(本场GJ x 3)
补题链接:Here A - Heavy Rotation 对 \(N\) 进行奇偶判断,奇数穿 Black .偶数穿 White B - Trapezoid Sum 前 \(n\) 项和公式:\(S_ ...