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根路径的磁盘占用率
由上可知我们docker的磁盘占有率已经满了,需要清理

1 df -Th /var/lib/docker
2 
3 /dev/mapper/cl_centos7--18--21-root xfs    90G   90G   0G  100% /
4 
5 /dev/mapper/cl_centos7--18--21-root xfs    90G   90G   0G  100% /

3、清理无效数据文件
切换到docker根路径,查找占用空间大的文件,并根据情况清理文件

1 cd /var/lib/docker
2 
3 ll -h

4、

清理docker环境已经停止的容器

查看所有已经停止的容器

复制代码
清理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}'`
复制代码

 

posted @   北京流浪儿  阅读(8084)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2018-02-28 python实现区块链代码
2018-02-28 python 中给文件加锁——fcntl模块
点击右上角即可分享
微信分享提示