docker registry删除远程仓库镜像实现方式

 更新时间:2025年09月24日 09:04:37   作者:CN-FuWei  
文章介绍如何清理Docker Registry中堆积的镜像,通过配置删除功能、启动容器、查看镜像信息并执行删除操作,同时提供基于web-ui的管理方案,优化存储空间使用

当集群内使用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删除镜像

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker --link容器互联的实现

    docker --link容器互联的实现

    –link可以通过容器名互相通信,容器间共享环境变量,本文主要介绍了docker --link容器互联的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Docker部署后端项目的实现步骤

    Docker部署后端项目的实现步骤

    本文主要介绍了Docker部署后端项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • 在Centos7中安装Docker1.12的详细教程

    在Centos7中安装Docker1.12的详细教程

    本篇文章主要介绍了在Centos7中安装Docker1.12的详细教程。具有一定的参考价值,有兴趣的可以了解一下。
    2017-02-02
  • 详解六种减小Docker镜像大小的方法

    详解六种减小Docker镜像大小的方法

    这篇文章主要介绍了详解六种减小Docker镜像大小的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • docker安装MinIO全过程

    docker安装MinIO全过程

    这篇文章主要介绍了docker安装MinIO全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 云原生自动化应用于docker仓库私有凭据secret创建

    云原生自动化应用于docker仓库私有凭据secret创建

    这篇文章主要为大家介绍了云原生自动化应用于docker仓库私有凭据secret创建,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • docker可视化工具Portainer部署并汉化的操作

    docker可视化工具Portainer部署并汉化的操作

    这篇文章主要介绍了docker可视化工具Portainer部署并汉化的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 管理(限制)Docker日志大小的方法总结

    管理(限制)Docker日志大小的方法总结

    在容器化部署的时候,因为没有指定日志的最大存储时间,导致磁盘被充爆,这篇文章主要介绍了管理(限制)Docker日志大小的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-08-08
  • docker安装单点elasticsearch过程

    docker安装单点elasticsearch过程

    这篇文章主要介绍了docker安装单点elasticsearch过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 如何完全清理你的Docker数据

    如何完全清理你的Docker数据

    Docker 不会对你的系统进行任何配置更改……但是它会占用大量的磁盘空间,那么如何完全清理你的数据,本文就详细的来介绍一下,感兴趣的可以了解一下
    2021-07-07

最新评论