docker “no space left on device”问题解决
docker “no space left on device”问题解决
在Linux环境上使用docker执行命令时遇到了 “no space left on device”可能是存储镜像的路径磁盘满了
1. 先使用docker info查看docker的信息
docker info
可以看到docker的根路径是 /var/lib/docker
2. 查看docker根路径的磁盘占用率
[root@web-config-18-23 webspider]# df -Th /var/lib/docker Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/cl_centos7--18--21-root xfs 90G 90G 0G 100% /
由上可知我们docker的磁盘占有率已经满了,需要清理
3. 清理无效数据文件
切换到docker根路径,查找占用空间大的文件,并根据情况清理文件
[root@web-config-18-23 docker]# cd /var/lib/docker [root@web-config-18-23 docker]# ll -h
4. 清理docker环境已经停止的容器
查看所有已经停止的容器
docker ps -a|grep Exited
方法一:删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
docker rm $(docker ps -a -q)
方法二:根据容器的状态,删除Exited状态的容器
docker rm $(docker ps -qf status=exited)
方法三:docker 1.13版本以后,可以使用 docker system 或 docker container命令清理容器。
docker container prune 删除已停用容器
docker container prune
docker system prune 删除关闭的容器、无用的数据卷和网络,以及dangling镜像
docker system prune -a 命令清理得更加彻底,可以将没有容器使用Docker的镜像都删掉
docker system prune
方法四:根据容器的ID删除容器
显示所有状态为Exited的容器,取出这些容器的ID
docker ps -a|grep Exited|awk '{print $1}'
根据ID删除容器
docker rm `docker ps -a|grep Exited|awk '{print $1}'`
在使用 docker system 命令时很慢,需要等待很长时间,不知道什么情况
若磁盘空间不足,可以尝试清理该目录下无用文件,或者清理悬空镜像(目前运行容器没有使用的镜像)
删除超过10天240h前创建的映像:
$ docker image prune -a --force --filter "until=240h"
参考文档:
https://blog.csdn.net/qq_42006301/article/details/105102020
https://cloud.tencent.com/developer/article/1432626
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY