docker清理未使用的镜像的命令详解及注意事项
docker images prune
在 Docker 中清理未使用的镜像(包括悬空镜像和完全未被引用的镜像),可以使用以下命令:
1. 删除所有悬空镜像(推荐常用)
docker image prune
悬空镜像 (dangling images) 是指没有标签且未被任何容器引用的镜像(通常是构建过程中的临时层)。
添加
-f强制删除(无需确认):docker image prune -f
2. 删除所有未被使用的镜像(谨慎!)
docker image prune -a
- **
-a会删除所有未被容器或标签引用的镜像**(包括有名字但未被使用的镜像)。 - 添加
-f强制删除:docker image prune -a -f
3. 清理整个 Docker 系统(停止的容器 + 悬空镜像 + 网络 + 构建缓存等)
docker system prune
添加
-a会额外删除未被使用的镜像(不仅仅是悬空镜像):docker system prune -a
强制清理(跳过确认提示):
docker system prune -a -f
注意事项:
悬空镜像 vs 未使用镜像:
docker image prune→ 只删除悬空镜像(无名镜像)。docker image prune -a→ 删除所有未被引用的镜像(包括有名字但未被容器使用的镜像)。
数据无价!
执行
prune -a前确保镜像真的不需要(例如,未来启动容器可能会用到的镜像也会被删除)。建议先手动检查:
# 列出悬空镜像 docker images -f dangling=true # 列出所有镜像(按占用空间排序) docker images --format "{{.ID}}\t{{.Repository}}\t{{.Size}}" | sort -k 3 -h
自动清理:
可通过配置 Docker Daemon 的docker-compose.yml或修改/etc/docker/daemon.json实现定时清理,例如:{ "features": { "buildkit": true }, "builder": { "gc": { "enabled": true, "defaultKeepStorage": "10GB" } } }
总结常用命令:
| 场景 | 命令 |
|---|---|
| 安全清理悬空镜像 | docker image prune -f |
| 彻底清理未使用的镜像 | docker image prune -a -f(谨慎!) |
| 全面清理 Docker 系统垃圾 | docker system prune -f(不包含未使用镜像) |
到此这篇关于docker清理未使用的镜像的命令详解及注意事项的文章就介绍到这了,更多相关docker清理未使用镜像命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Jenkins构建Docker镜像并推送至Harbor仓库的实现
本文主要介绍了Jenkins构建Docker镜像并推送至Harbor仓库,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-09-09
-bash: docker-compose未找到命令的解决方案
这篇文章主要介绍了-bash: docker-compose: 未找到命令,需要的朋友可以参考下2023-12-12
解决docker容器重启之后/etc下某些配置文件被重置的问题
这篇文章主要介绍了解决docker容器重启之后/etc下某些配置文件被重置的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-03-03
在docker-compose.yml文件中配置容器的环境变量方式
本文介绍了在docker-compose.yml文件中设置和使用环境变量的方法,包括直接设置环境变量、从文件读取环境变量以及使用多个环境文件进行不同部署环境的配置2024-11-11
Docker容器无法被stop or kill问题的解决方法
这篇文章主要介绍了Docker容器无法被stop or kill问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-09-09


最新评论