简介:本文将介绍如何使用Docker清理无用的镜像,包括查看镜像、删除指定镜像、批量删除无用镜像、清理特定时间前的镜像、按照大小排序、使用脚本自动化、定时自动清理和删除特定模式的镜像。
在Docker中,我们有时会遇到无用或不再需要的镜像。这些镜像可能占用大量空间并降低系统的运行效率。本文将介绍如何清理这些无用的镜像,以保持Docker环境的整洁和高效。
检查这些镜像,评估哪些是必要的,哪些是可以删除的。
docker images -a
例如,要删除ID为abcdef的镜像,可以执行:
docker rmi [镜像ID或仓库名:标签]
docker rmi abcdef
加上-a参数,可以删除所有未被容器引用的镜像:
docker image prune
docker image prune -a
上面的命令会删除所有创建时间超过168小时(7天)的镜像。
docker image prune -a --filter "until=168h"
这样我们可以直观地看到哪些镜像占用空间较大,然后手动删除。
docker images --format '{{.Size}} {{.Repository}}:{{.Tag}}' | sort -hr | awk '{print $2}' | xargs docker rmi
#!/bin/bash# 清理所有未使用的镜像和容器docker system prune -af # 删除所有1.0版本开头的镜像docker images | grep '1.0' | awk '{print $3}' | xargs docker rmi
0 2 * * * /path/to/your/script.sh
docker images | grep '[仓库名]...1.0' | awk '{print $3}' | xargs docker rmi'