如何用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 docuumCargo安装
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 GB、10 GiB或50%(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 docuummacOS系统(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.logWindows系统(NSSM)
使用NSSM(Non-Sucking Service Manager)将Docuum配置为Windows服务:
nssm install Docuum在弹出的配置窗口中,设置Docuum可执行文件路径和参数,如--threshold "10 GB"。
📝注意事项
Docker版本要求:Docuum需要Docker Engine 17.03.0或更高版本
BuildKit缓存:Docuum不会清理BuildKit的构建缓存,BuildKit有自己的垃圾回收机制,两者可以共存
日志级别:通过
LOG_LEVEL环境变量设置日志级别(trace, debug, info, warning, error),默认是debug容器化运行:也可以通过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),仅供参考