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}'`

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM