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镜像仓库清理操作的更多相关文章

  1. harbor镜像仓库-02-https访问配置

    harbor镜像仓库-02-https访问配置 harbordockerhttps harbor搭建部署参考上一章节 harbor镜像仓库-01-搭建部署 Harbor默认使用http,给harbor ...

  2. harbor镜像仓库-01-搭建部署

    harbor镜像仓库-01-搭建部署 dockerregistryharbor安装部署docker-compose harbor的https配置参考另一章节harbor镜像仓库-02-https访问配 ...

  3. Harbor镜像仓库

    Harbor镜像仓库 作者 刘畅 时间 2020-7-11 微信 目录 1.下载离线安装包 1 2.安装docker 1 3.安装docker-compose 2 4.自签TLS证书 2 4.1.创建 ...

  4. Docker镜像仓库清理的探索之路

    用友云开发者中心是基于Docker容器进行微服务架构应用的落地与管理.相信各位同学在使用的过程中,会发现随着Docker镜像的增多,占用磁盘空间也约来越多.这时我们需要清理私有镜像仓库中不需要的镜像. ...

  5. CentOS部署Harbor镜像仓库

    关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全.标识.管理等方面做了增强,更适合企业使用: 官方网站:https: ...

  6. 企业级 Harbor 镜像仓库

    Harbor是由VMWare公司开源的容器镜像仓库.事实上,Harbor是在Docker Registry上进行了相应 的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基 ...

  7. harbor镜像仓库-https访问配置

    1. 证书的生成 在测试或开发环境中,您可以选择使用自签名证书,而不是来自受信任的第三方CA的证书.以下内容将向您展示如何创建自己的CA,并使用您的CA签署服务器证书和客户端证书.   1.1 生成c ...

  8. docker登录没有配置https的harbor镜像仓库

    已经搭建harbor 仓库 ,域名  172.16.1.99 出现问题: 客户端尝试登录 仓库 [root@localhost docker]# docker login 172.16.1.99:80 ...

  9. Harbor私有镜像仓库(下)

    Harbor私有镜像仓库(下) 链接:https://pan.baidu.com/s/1MAb0dllUwmoOk7TeVCZOVQ 提取码:ldt5 复制这段内容后打开百度网盘手机App,操作更方便 ...

  10. docker进阶-搭建私有企业级镜像仓库Harbor

    为什么要搭建私有镜像仓库   对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...

随机推荐

  1. Windows下编译64位CGAL

    目录 1. 准备 2. CMake构建 1. 准备 CGAL的官网准备了压缩包和安装程序两种类型的的源代码,推荐使用安装程序包,因为其中自带了编译好的gmp和mpfr库.gmp和mpfr是CGAL的依 ...

  2. API生态的发展与机遇:从5000组数据看中国API生态与开发者现状

    摘要:华为云联合多家单位发布了<中国API生态与开发者现状调研报告(2020年)>,旨在通过API生态.API开发者.使用者.API全生命周期管理等多视角展现我国API发展的现状与机遇,力 ...

  3. 华为云PB级数据库GaussDB(for Redis)揭秘第五期:高斯 Redis 在IM场景中的应用

    摘要:揭秘高斯 Redis 在IM场景中的应用. 本文分享自华为云社区<华为云PB级数据库GaussDB(for Redis)揭秘第五期:高斯 Redis 在IM场景中的应用>,原文作者: ...

  4. 一个Camel Multicast组件聚合策略问题的解决过程

    摘要:本文通过案例,发现了一个Camel Multicast组件聚合策略相关的问题.通过查看Camel源代码,找到了问题原因并给出了解决方案.希望本文可以帮助到遇到同样问题的Camel用户. 本文分享 ...

  5. 谁说count(*) 性能最差,我需要跟你聊聊

    摘要:当我们对一张数据表中的记录进行统计的时候,习惯都会使用 count 函数来统计,但是 count 函数传入的参数有很多种,比如 count(1).count(*).count(字段) 等.到底哪 ...

  6. iOS加固保护新思路

    ​ 技术简介 前言 iOS加固保护是基于虚机源码保护技术,针对iOS平台推出的下一代加固产品.可以对iOS APP中的可执行文件进行深度混淆.加固,并使用独创的虚拟机技术对代 码进行加密保护,使用任何 ...

  7. 多智能体协同控制研究中光学动作捕捉与UWB定位技术比较

    人类在进行任何工作时,总是强调团队合作,teamwork.随着控制科学.计算机科学等多学科的交叉发展与融合,在智能体控制领域,对于单个机器人,无人机,无人车的控制已经不能满足现在领域的技术需求,从而和 ...

  8. 机器学习周刊第五期:一个离谱的数据可视化Python库、可交互式动画学概率统计、机器学习最全文档、快速部署机器学习应用的开源项目、Redis 之父的最新文章

    date: 2024/01/08 这个网站用可视化的方式讲解概率和统计基础知识,很多内容还是可交互的,非常生动形象. 大家好,欢迎收看第五期机器学习周刊 本期介绍7个内容,涉及Python.概率统计. ...

  9. 【JAVA基础】常量变量维护

    常量维护 //参与签名的系统Header前缀,只有指定前缀的Header才会参与到签名中 //换行符 private static final char LF = '\n'; public stati ...

  10. POJ - 1611 : The Suspects (普通并查集)

    思路: 模板题,一步一步加入集合,最后判断有多少人跟0在同一个集合就行了. #include<iostream> #include<cstdio> using namespac ...