Py学习  »  docker

由于docker/cron,设备上没有剩余空间

ninesalt • 5 年前 • 1677 次点击  

我在google云上有一个基本服务器,它每30分钟通过cron运行一次docker容器我注意到docker命令停止工作,我在说

docker: Error response from daemon: no space left on device.

然后我注意到,即使在bash中输入 cd path/ 和打击 tab 是的。我发现储藏室可能出了问题所以我试着 df -h 它显示了这一点:

Filesystem      Size  Used Avail Use% Mounted on
udev            860M     0  860M   0% /dev
tmpfs           175M   19M  157M  11% /run
/dev/sda1       9.7G  9.7G     0 100% /        
tmpfs           871M     0  871M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           871M     0  871M   0% /sys/fs/cgroup
tmpfs           175M     0  175M   0% /run/user/1001

如您所见/dev/sda1由于某些原因已满。为什么会发生这种情况,我该如何解决?

我注意到有几千个退出坞箱,所以我用这个命令删除了:

docker rm -v $(docker ps -a -q -f status=exited)

现在的存储使用率是61%,仍然太高。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48482
 
1677 次点击  
文章 [ 1 ]  |  最新文章 5 年前
BMitch
Reply   •   1 楼
BMitch    6 年前

当运行不需要保持停止状态的容器时,使用 docker run --rm ... 自动清除已停止的容器。

如果容器生成卷,则在 docker volume ls ,一旦不再需要数据,您可能会希望清除这些数据与 --rm 标志运行时,将自动删除匿名卷(显示为长唯一id)。

Docker还提供命令:

docker system prune

它可以自动清理图像、容器、网络甚至卷请注意,在运行该命令之前,尤其是在自动执行该命令之前,您应该花时间了解它的作用编写此命令脚本时,可以使用 -f 标记以绕过提示。

在进行修剪之前,您可以检查:

docker system df

查看每个组件使用了多少磁盘,每个组件都有自己的prune命令,例如。 docker container prune docker volume prune ,如果你只想清理一个区域。

有关prune命令的详细信息,请参见: https://docs.docker.com/engine/reference/commandline/system_prune/