docker - 如何修复 Docker 中的 'No space left on device' 错误?

标签 docker

我正在运行 Mac 原生 Docker(没有 virtualbox/docker-machine)。

我有一个巨大的图像,里面有很多基础设施(Postgres 等)。 我已经运行了清理脚本来清除很多杂乱无章的东西——未使用的图像等等。

当我运行我的图像时,我收到如下错误:

could not create directory "/var/lib/postgresql/data/pg_xlog": No space left on device

在我的主机 Mac 上/var 有 60% 的可用空间,通常我的磁盘有大量可用存储空间。

这是我需要增加一些 Docker 配置以提供更多资源吗?

docker 内 mount 的相关行:

none on / type aufs (rw,relatime,si=5b19fc7476f7db86,dio,dirperm1)
/dev/vda1 on /data type ext4 (rw,relatime,data=ordered)
/dev/vda1 on /etc/resolv.conf type ext4 (rw,relatime,data=ordered)
/dev/vda1 on /etc/hostname type ext4 (rw,relatime,data=ordered)
/dev/vda1 on /etc/hosts type ext4 (rw,relatime,data=ordered)
/dev/vda1 on /var/lib/postgresql/data type ext4 (rw,relatime,data=ordered)

这里是df:

[11:14]  
Filesystem     1K-blocks    Used Available Use% Mounted on
none           202054928 4333016 187269304   3% /
tmpfs            1022788       0   1022788   0% /dev
tmpfs            1022788       0   1022788   0% /sys/fs/cgroup
/dev/vda1      202054928 4333016 187269304   3% /data
shm                65536       4     65532   1% /dev/shm
tmpfs             204560     284    204276   1% /run/docker.sock

最佳答案

我没有找到很多选项,github中的主要问题是https://github.com/docker/for-mac/issues/371

建议的一些选项有:

  • 如果您可以删除所有图像/容器,则可以按照以下说明操作:

docker rm $(docker ps -a -q) docker rmi $(docker images -q) docker volume rm $(docker volume ls |awk '{print $2}') rm -rf ~/Library/Containers/com.docker.docker/Data/*

  • 您可以尝试修剪所有未使用的图像/容器,但这已被证明不是很有效:

docker 系统修剪

另请参阅:How do you get around the size limitation of Docker.qcow2 in the Docker for Mac?https://forums.docker.com/t/no-space-left-on-device-error/10894/26

关于docker - 如何修复 Docker 中的 'No space left on device' 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41227546/

相关文章:

docker - 为什么 ansible 不断重新创建状态为 "started"的 docker 容器

docker - Docker Compose V2网络错误

docker - 升级到 Node v16 后,CI/CD 中出现 npm 权限错误 - 从同一镜像本地运行的容器工作正常

Docker 通过命令或文件设置环境变量

docker - VSCode 远程容器 - 未使用 docker-compose 在开发容器上安装扩展

php - Nginx Net::ERR_INCOMPLETE_CHUNKED_ENCODING 试图显示大 JSON

php - 无法在 docker alpine 3.14 或最新版本上安装 php-gd

docker - 如何以 headless /非交互模式运行容器化流式应用程序?

docker - 使用docker-compose链接到网络中的容器

jboss - 在 Jboss wildfly 和 docker 中使用 cli 时出现权限错误