docker如何清理过程镜像
23 2026-01-04 12:50 2026-01-04 12:50
[root@iZ2zed4vmulmu2gioymytpZ volc-voice-web]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
volc-voice-web-node latest 31964551581d 2 minutes ago 167MB
<none> <none> 1aef64017640 4 minutes ago 167MB
<none> <none> 6a96dac3d898 10 minutes ago 167MB
<none> <none> d993b814321c 13 minutes ago 167MB
<none> <none> db15aab47c48 28 minutes ago 167MB
<none> <none> accfa6114f6c 30 minutes ago 167MB
<none> <none> 5ab4ee7c92e9 33 minutes ago 142MB
<none> <none> 5a41ab7d3692 37 minutes ago 142MB
21/vsftpd v1 af0a65a5df86 8 months ago 255MB
tomcat 8.5-jre8 cc1cf9719b23 4 years ago 292MB
tomcat 8.5-jdk8 bb364d522f0c 4 years ago 545MB
mysql 5.7 c20987f18b13 4 years ago 448MB
hello-world latest feb5d9fea6a5 4 years ago 13.3kB
fauria/vsftpd latest 007276d7208b 5 years ago 255MB
[root@iZ2zed4vmulmu2gioymytpZ volc-voice-web]#
那些
<none>:<none> 的镜像都是构建过程中产生的悬空(dangling)中间层,只占用磁盘空间,可以安全删除。一键清理所有悬空镜像
bash
复制
docker image prune -f
-
-f表示不确认,直接删。
执行后,所有<none>镜像会被回收,只剩「正在使用的最新层」和「有 tag 的镜像」。
想连「未被容器使用的所有镜像」一起删(更彻底)
bash
复制
docker image prune -a -f
-
会提示释放空间大小,确认后连无容器运行的旧版本业务镜像也删掉,慎用。
只手动删某个
<none> 镜像bash
复制
docker rmi 1aef64017640 # 写你想删的 IMAGE ID
定期自动清理(可选)
把下面命令写进 crontab 或脚本,每周跑一次:
bash
复制
docker system prune -a -f --volumes
-
清理悬空镜像、容器、网络、缓存卷,磁盘最干净。
全部评论