Harbor垃圾清理

Harbor 垃圾清理

原因:

Harbor删除镜像后且GC清理后,磁盘空间没有释放。因为我们push大量相同标签的镜像,Docker 镜像由标签引用,并由唯一的摘要标识。这意味着如果myImage使用标记推送两个图像,在DR内部他们显示的不同,它们将由两个不同的digests标识。最后推送的Images是当前的。Docker 镜像由layers组成,每个layers都关联一个blob。该blob是最占用存储的文件; 这些文件将由GC清理。正由上面的描述每个镜像都会存储一个引用,因为,我们重复提交10次,那一个标签在DR中会有10个引用,标签只能获取tag。而其他9个只能用digest获取了。

简单的来说就是因为相同的标签的镜像重复提交次数过多导致。

操作

[root@dev10 harbor]# pwd
/root/softwares/harbor
[root@dev10 harbor]#

1 编辑 common/config/registry/config.yml 此文件在harbor安装目录下, 关闭的目的是为了禁止身份验证

version: 0.1
log:
  level: info
  fields:
    service: registry
storage:
  cache:
    layerinfo: redis
  filesystem:
    rootdirectory: /storage
  maintenance:
    uploadpurging:
      enabled: false
  delete:
    enabled: true
redis:
  addr: redis:6379
  password:
  db: 1
http:
  addr: :5000
  secret: placeholder
  debug:
    addr: localhost:5001

## 先禁止身份验证,GC后在改回来
#auth:
#  token:
#    issuer: harbor-token-issuer
#    realm: http://sinoeyes.io/service/token
#    rootcertbundle: /etc/registry/root.crt
#    service: harbor-registry
notifications:
  endpoints:
  - name: harbor
    disabled: false
    url: http://core:8080/service/notifications
    timeout: 3000ms
    threshold: 5
    backoff: 1s

2 修改 docker-compose.yml 此文件在harbor安装目录下,修改此文件的目的是把registry port端口暴露出来

version: '2'
services:
......
  registry:
    image: goharbor/registry-photon:v2.6.2-v1.7.4
    ## 把registry port端口暴露出来,GC后在改回来,
    ports:
      - 127.0.0.1:5000:5000
    container_name: registry
    restart: always
......

3 停止 harbor 并且 启动 harbor 注意: 不要使用 stop 停止,否则修改的配置文件不会生效

[root@dev10 harbor]# docker-compose down && docker-compose up -d

4 查看 Harbor 自带的 registry-photon 名称与版本

[root@dev10 harbor]# docker images | grep registry-photon
goharbor/registry-photon         v2.6.2-v1.7.4       f4743bd7b0d9        7 months ago        86.7MB
[root@dev10 harbor]#

5 清理已删除未使用的清单

[root@dev10 harbor]# docker run --network="host" -it -v /data/registry:/registry -e REGISTRY_URL=http://127.0.0.1:5000 mortensrasmussen/docker-registry-manifest-cleanup

6 清理已删除现在不再与清单关联的blob

[root@dev10 harbor]# docker run -it --name gc --rm --volumes-from registry goharbor/registry-photon:v2.6.2-v1.7.4 garbage-collect /etc/registry/config.yml

7 把步骤1和步骤2的配置修改回初始状态

8 再次执行第3步

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值