解决registry私有仓库空间清理问题

 更新时间:2025年08月07日 14:25:35   作者:楠奕  
Docker Registry因历史镜像堆积导致磁盘空间不足,需定期清理,通过执行registry_garbage_collect.sh脚本及查看config.yml配置文件,可管理存储策略,释放占用空间

registry私有仓库空间清理

docker registry中堆积的历史镜像数量极多,磁盘空间告急,为此,有必要定期做镜像的清理,并释放镜像占用的存储空间。

查看脚本registry_garbage_collect.sh

# cat registry_garbage_collect.sh
#!/bin/bash
set -e

#v2仓库镜像名称
dockerConfPath=/data/install/app/registry/configyml
configFile=${dockerConfPath}/config.yml

#修改仓库属性设置为只读
ansible registry192.168.246.10 -m shell -a "sed -i '14s/enabled: false/enabled: true/' ${configFile}"
ansible registry192.168.246.11 -m shell -a "sed -i '14s/enabled: false/enabled: true/' ${configFile}"

#重启仓库组件
ansible registry192.168.246.10 -m shell -a "docker restart  pro-registry"
ansible registry192.168.246.11 -m shell -a "docker restart  pro-registry"

#执行仓库垃圾回收
ansible registry192.168.246.10 -m shell -a "docker exec pro-registry registry garbage-collect /etc/docker/registry/config.yml"

#修改仓库属性设置为可写
ansible registry192.168.246.10 -m shell -a "sed -i '14s/enabled: true/enabled: false/' ${configFile}"
ansible registry192.168.246.11 -m shell -a "sed -i '14s/enabled: true/enabled: false/' ${configFile}"

#重启仓库组件
ansible registry192.168.246.10 -m shell -a "docker restart  pro-registry"
ansible registry192.168.246.11 -m shell -a "docker restart  pro-registry"

其中,246.10-11为仓库所在的主机

仓库名

pro-registry,即docker启动registry镜像时的镜像名

查看configyml文件

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

总结

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

相关文章

  • 如何解决对Docker容器内存限制警告或未实际限制的问题

    如何解决对Docker容器内存限制警告或未实际限制的问题

    这篇文章主要介绍了如何解决对Docker容器内存限制警告或未实际限制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 使用docker部署grafana+prometheus配置

    使用docker部署grafana+prometheus配置

    这篇文章主要介绍了docker部署grafana+prometheus配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Ubuntu20.04上安装docker步骤及docker使用方法

    Ubuntu20.04上安装docker步骤及docker使用方法

    Docker是一个可以简化容器中应用程序进程管理过程的应用程序,容器允许你在资源隔离的进程中运行应用程序,这篇文章主要介绍了Ubuntu20.04上安装docker步骤及docker使用的相关资料,需要的朋友可以参考下
    2026-04-04
  • docker start启动容器后仍然exit状态的解决

    docker start启动容器后仍然exit状态的解决

    这篇文章主要介绍了docker start启动容器后仍然exit状态的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 使用Docker搭建Apache Kafka环境的详细过程

    使用Docker搭建Apache Kafka环境的详细过程

    这篇文章主要介绍了使用Docker搭建Apache Kafka环境,本文使用Docker技术创建单个Kafka节点和Kafka集群环境,并且使用可视化工具连接服务查看代理服务器的配置信息,需要的朋友可以参考下
    2022-10-10
  • Docker上传镜像至私有仓库的方法示例

    Docker上传镜像至私有仓库的方法示例

    这篇文章主要介绍了Docker上传镜像至私有仓库的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Docker安装mysql8.0并配置忽略大小写问题

    Docker安装mysql8.0并配置忽略大小写问题

    本文介绍了使用Docker启动MySQL的过程,包括拉取镜像、查看镜像、启动MySQL命令及其参数解释、连接MySQL等步骤,并强调了设置`lower_case_table_names=1`只能在初始化时进行配置
    2026-05-05
  • docker 中配置 eureka的方法

    docker 中配置 eureka的方法

    这篇文章主要介绍了docker 中配置 eureka的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Docker图形工具Portainer的具体使用

    Docker图形工具Portainer的具体使用

    本文主要介绍了Docker图形工具Portainer的具体使用,Portainer是一个开源的轻量级管理UI,提供了一个直观的图形用户界面,使得管理Docker容器变得更加容易,感兴趣的可以了解一下
    2024-11-11
  • docker exec执行多个命令的操作

    docker exec执行多个命令的操作

    这篇文章主要介绍了docker exec执行多个命令的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论