docker registry删除远程仓库镜像

文章介绍了在Docker集群中使用Registry作为镜像仓库时,如何开启删除功能,配置删除策略,以及通过命令行和WebUI进行镜像的查看、删除和垃圾回收,以解决磁盘空间占用问题。此外,还提到了docker-registry-web工具用于图形化管理Registry。
摘要由CSDN通过智能技术生成

当集群内使用registry做为镜像仓库时,镜像长期积累会导致本地和远程仓库镜像占用大量的磁盘空间,这时我们需要对一些无用镜像进行定期清理。 

一、部署registry

1.1 开启删除功能

从registry容器里面将/etc/docker/registry/config.yml复制出来:

docker cp registry:/etc/docker/registry/config.yml ./config.yml

默认config.yml内容如下:

version: 0.1
log:
  fields:
    service: registry
storage:
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

设置config.yml,在storage节点添加delete配置设置为true。

version: 0.1
log:
  fields:
    service: registry
storage:
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
  delete:
    enabled: true
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 31234567891011121314151617181920

1.2 启动registry容器

docker run -it -d --name registry -p 5000:5000 -v /opt/registry/:/var/lib/registry -v /etc/docker/registry/config.yml:/etc/docker/registry/config.yml --restart=always registry

1.3 查看镜像名称

curl -s -XGET localhost:5000/v2/_catalog | python -mjson.tool

1.4 查看镜像tag

curl -s XGET localhost:5000/v2/test/tags/list|jq

1.5 查看镜像reversion

ll /opt/registry/docker/registry/v2/repositories/test/_manifests/revisions/sha256/

#或者通过API获取镜像digest值
curl -i -sS -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' 'http://localhost:5000/v2/test/manifests/latest'

1.6 删除镜像

curl -X DELETE localhost:5000/v2/test/manifests/sha256:703c4d81c860a7420749f6666aac348e1b62a07062865dfb91d4c30819483e70

1.7 垃圾回收

docker exec -it 9658cbb01b13 registry garbage-collect /etc/docker/registry/config.yml

1.8 清除目录

rm -rf /var/lib/docker/volumes/78c1937e0a8c810c8e4249d0245b4777ac4e66428519376712d99b811e559758/_data/docker/registry/v2/repositories/test_his_platform_global_api_2022-02-18-02-46

二、web-ui管理registry

docker hub 地址:https://hub.docker.com/r/hyper/docker-registry-web

2.1 部署docker-registry-web

docker pull hyper/docker-registry-web

(此配置中的任何属性都可能被环境变量覆盖,例如属性registry.auth.enabled将变为REGISTRY_AUTH_ENABLED)

registry:
  # Docker registry url
  url: http://10.0.0.100:5000/v2
  # Docker registry fqdn
  name: localhost:5000
  # To allow image delete, should be false
  readonly: false
  auth:
    # Disable authentication
    enabled: false

使用 docker 运行

docker run -p 5000:5000 --name registry -d registry:2
docker run -it -p 8083:8080 --name registry-web --link registry -v $(pwd)/config.yml:/conf/config.yml:ro hyper/docker-registry-web

访问http://localhost:8083

2.2 使用web ui删除镜像 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN-FuWei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值