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