docker如何清理过程镜像

24 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
 
  • 清理悬空镜像、容器、网络、缓存卷,磁盘最干净。

全部评论

·