(十七)VMware Harbor 垃圾清理

摘要:
直接通过Harbor界面删除相关图像不会自动删除存储中的文件和图像。您需要停止Harbor服务,执行垃圾收集命令,并清理和回收存储空间。因此,首选方法是在运行GC之前停止Harbor。

1. 在线垃圾清理

注意:从Harbor中删除镜像时不释放空间,垃圾收集是通过从清单中不再引用文件系统中删除blob来释放空间的任务。

(十七)VMware Harbor 垃圾清理第1张

注意:在执行垃圾收集时,Harbor将进入只读模式,并且禁止对docker注册表进行任何修改。

垃圾清理定时任务:

1.无

2.每天

3.每周

4.每小时

5.自定义

history

显示垃圾回收记录

 (十七)VMware Harbor 垃圾清理第2张

 离线-Harbor镜像删除空间回收

Harbor私有仓库运行一段时间后,仓库中存有大量镜像,会占用太多的存储空间。直接通过Harbor界面删除相关镜像,并不会自动删除存储中的文件和镜像。需要停止Harbor服务,执行垃圾回收命令,进行存储空间清理和回收。

1、首先,删除Harbor的UI中的存储库。这是软删除。您可以删除整个存储库或仅删除它的标签。软删除后,Harbour中不再管理存储库,但是存储库的文件仍然保留在Harbour的存储中。 

(十七)VMware Harbor 垃圾清理第3张

2、接下来,使用注册表的垃圾回收(GC)删除存储库的实际文件。在执行GC之前,确保没有人推送图像或Harbour根本没有运行。如果有人在GC运行时推送镜像,则存在镜像层被错误删除的风险,从而导致镜像损坏。所以在运行GC之前,首选的方法是先停止Harbour。

第一步:停止Harbor

cd /usr/local/harbor
docker-compose stop

第二步: 
在部署Harbour的主机上运行以下命令以预览会影响哪些文件/镜像 
注:上述选项”–dry-run”将打印进度而不删除任何数据。

docker run -it --name gc --rm --volumes-from registry vmware/registry-photon:v2.6.2-v1.5.0 garbage-collect --dry-run /etc/registry/config.yml

验证上述测试的结果,然后使用以下命令执行垃圾回收并重新启动Harbour。

docker run -it --name gc --rm --volumes-from registry vmware/registry-photon:v2.6.2-v1.5.0 garbage-collect /etc/registry/config.yml

3、重启harbor各组件镜像

docker-compose start

最后验证: 
a:du -sh /data/registry/docker/registry/v2/blobs&repositories和之前该目录文件大小做对比 
b:重新上传之前删除的镜像,如没成功删除会报镜像已存在,能成功上传则一切ok,恭喜 

参考:https://www.tuicool.com/articles/2QVBvyA

参考:https://blog.csdn.net/kong2030/article/details/81331142

参考:http://www.itboth.com/d/U367Vz/docker

免责声明:文章转载自《(十七)VMware Harbor 垃圾清理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇阿里巴巴Java 程序员常用的 10 款开源工具!用好了,事半功倍!SQL多表联合查询(Access数据库表)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

通过docker搭建LNMP平台(以wordpress为例)

1.创建自定义网络 docker network create lnmp #创建自定义网络 docker network ls #查看 2.创建mysql数据库容器 docker run -itd --name lnmp_mysql --net lnmp -p 3306:3306 --mount src=mysql-...

普通新用户的docker权限

应上海开发需求,在人脸测试服务器上创建新用户,只赋予docker使用权限,步骤:$ sudo useradd -rms /bin/bash ouyangyao #创建用户ouyangyao$ sudo groupadd docker #添加docker用户组,可能已经存在, $ sudo usermod -aG docker ouyangyao #...

docker 使用gpu启动及tf限额

1、docker启动:  docker run --rm --gpus 0 -p5005:5005 bert:latest docker run --rm --gpus all -p5005:5005 bert:latest --gpus 卡号或者all 查看卡号:nvidia-smi  2、tf限额 # 自适应增长 # config = tf.co...

Docker 搭建开源 CMDB平台 “OpsManage” 之 Redis

整体结构如下图   先来在 172.16.0.200 安装docker-ce (新)或 docker-io(旧)      0: Docker-ce  (新版本  Docker version 17.09.0-ce) 1. 卸载老版本的 docker 及其相关依赖sudo yum remove docker docker-common containe...

【Android Studio】为Android Studio设置HTTP代理

【Android Studio】为Android Studio设置HTTP代理  大陆的墙很厚很高,初次安装Android Studio下载SDK等必定失败,设置代理方法如下: 1.  到android studio安装目录,打开bin目录,编辑idea.properties, 在文件末尾添加: disable.android.first.run=tru...

Kubernetes1.11.1 使用Nvidia显卡配置方法

一、安装 1.1、kubernetes硬件支持问题说明 Kubernetes目前主要在很小程度上支持CPU和内存的发现。Kubelet本身处理的设备非常少。Kubernetes对于硬件都使用都依赖于硬件厂商的自主研发kubernetes插件,通过硬件厂商的插件从而让kubernetes进行硬件支持。 实现的逻辑如下: 1.2、适用于Kubernetes的N...