如何用Docuum自动清理Docker镜像?5分钟快速上手教程
2026/8/10 19:50:47 网站建设 项目流程

如何用Docuum自动清理Docker镜像?5分钟快速上手教程

【免费下载链接】docuumDocuum performs least recently used (LRU) eviction of Docker images. 🗑️项目地址: https://gitcode.com/gh_mirrors/do/docuum

Docuum是一款高效的Docker镜像清理工具,它采用最近最少使用(LRU)算法自动清理Docker镜像,确保磁盘使用率低于设定阈值。对于开发者工作站和CI环境来说,这是一款不可或缺的工具,能有效解决Docker镜像占用过多磁盘空间的问题。

📌为什么选择Docuum?

Docker自带的docker image prune命令虽然也能清理镜像,但它基于镜像创建时间而非最后使用时间来判断清理对象,这可能导致频繁使用的镜像被误删。Docuum则通过监听Docker事件来记录镜像使用时间,从而智能地保留常用镜像,删除真正不再需要的镜像。

Docuum的核心优势包括:

  • 实时响应Docker事件,无需定时任务
  • 零CPU资源消耗(无Docker活动时)
  • 基于磁盘使用阈值而非猜测的TTL值
  • 智能处理镜像父子关系,避免删除被依赖的基础镜像

🚀快速安装指南

一键安装(macOS/Linux)

最简便的安装方式是使用官方提供的安装脚本:

curl https://raw.githubusercontent.com/stepchowfun/docuum/main/install.sh -LSfs | sh

如需自定义安装版本或路径,可以使用环境变量:

VERSION=0.27.0 PREFIX=/usr/local/bin ./install.sh

其他安装方式

Homebrew安装
brew install docuum
Cargo安装
cargo install docuum
手动下载

从GitHub Releases下载对应平台的二进制文件,添加执行权限并放入PATH目录。

⚙️基本使用方法

安装完成后,可以通过以下命令启动Docuum:

docuum --threshold '10 GB'

这将启动Docuum并设置Docker镜像最大磁盘使用阈值为10GB。当镜像总大小超过此阈值时,Docuum会自动清理最近最少使用的镜像。

常用命令选项

-t, --threshold <THRESHOLD> 设置Docker镜像最大使用空间(默认:10 GB) -k, --keep <REGEX> 保留符合正则表达式的镜像 -d, --deletion-chunk-size 每次删除的镜像数量(默认:1) -m, --min-age <MIN AGE> 设置最小清理年龄(如:4d表示4天) -v, --version 显示版本信息 -h, --help 显示帮助信息

阈值支持多种单位表示,如10 GB10 GiB50%(Linux系统)。

🔧配置为系统服务

为了让Docuum持续运行并自动清理镜像,建议将其配置为系统服务。

Linux系统(systemd)

项目提供了现成的systemd服务配置文件:service_configs/docuum.service

[Unit] Description=Docuum After=docker.service Wants=docker.service [Service] Environment='THRESHOLD=10 GB' ExecStart=/usr/local/bin/docuum --threshold ${THRESHOLD} Restart=on-failure [Install] WantedBy=multi-user.target

安装方法:

sudo cp service_configs/docuum.service /etc/systemd/system/ sudo systemctl enable docuum --now

查看日志:

sudo journalctl --follow --unit docuum

macOS系统(launchd)

使用项目提供的launchd配置文件:service_configs/local.docuum.plist

sudo cp service_configs/local.docuum.plist /Library/LaunchDaemons/ sudo launchctl load /Library/LaunchDaemons/local.docuum.plist

查看日志:

tail -F /var/log/docuum.log

Windows系统(NSSM)

使用NSSM(Non-Sucking Service Manager)将Docuum配置为Windows服务:

nssm install Docuum

在弹出的配置窗口中,设置Docuum可执行文件路径和参数,如--threshold "10 GB"

📝注意事项

  1. Docker版本要求:Docuum需要Docker Engine 17.03.0或更高版本

  2. BuildKit缓存:Docuum不会清理BuildKit的构建缓存,BuildKit有自己的垃圾回收机制,两者可以共存

  3. 日志级别:通过LOG_LEVEL环境变量设置日志级别(trace, debug, info, warning, error),默认是debug

  4. 容器化运行:也可以通过Docker容器运行Docuum:

docker container run \ --init \ --rm \ --name docuum \ --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \ --mount type=volume,source=docuum,target=/root \ stephanmisc/docuum --threshold '10 GB'

💡高级技巧

保留特定镜像

使用--keep选项保留符合特定模式的镜像:

docuum --threshold '10 GB' --keep '^my-project/.*'

设置最小清理年龄

确保新镜像不会被立即清理:

docuum --threshold '10 GB' --min-age '7d'

调整删除块大小

一次性删除多个镜像以加快清理速度:

docuum --threshold '10 GB' --deletion-chunk-size 5

🎯总结

Docuum是一款强大而智能的Docker镜像清理工具,通过LRU算法和实时事件监听,确保系统磁盘空间得到最优化利用。无论是开发者工作站还是CI环境,Docuum都能自动维护Docker镜像的合理大小,让你不再为磁盘空间不足而烦恼。

只需5分钟,你就能完成Docuum的安装和配置,从此告别手动清理Docker镜像的繁琐工作!

【免费下载链接】docuumDocuum performs least recently used (LRU) eviction of Docker images. 🗑️项目地址: https://gitcode.com/gh_mirrors/do/docuum

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询