如何修复Docker中磁盘空间用尽错误?

时间:2018-07-09 05:46:57

标签: docker docker-machine

当我尝试构建docker映像时,我摆脱了磁盘空间错误,在调查后发现以下内容:

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        4G   3.8G     0 100% /

如何解决空间不足错误?

6 个答案:

答案 0 :(得分:9)

docker system prune

https://docs.docker.com/engine/reference/commandline/system_prune/

这将清除所有未使用的映像,容器,网络,卷。通常,我们在创建新映像时会尝试清理旧映像,但您也可以每天在Docker服务器上将其作为计划任务运行。

答案 1 :(得分:3)

打开docker设置->资源->高级,并根据磁盘映像大小增加其可使用的硬盘空间。

答案 2 :(得分:1)

使用命令- docker system prune -a 这将清除图像,网络和卷的总可回收大小.....这将删除所有与任何运行中的容器无关的图像相关可回收空间。

运行“ docker system df ”命令以查看可回收内存

如果有一些可回收的内存,则如果以上命令在第一次执行时不起作用,请再次运行同一命令两次,则应将其清理干净。 我几乎每天都在经历这种行为..... 计划将此错误报告给Docker社区,但在此之前想通过新版本重现此错误,以查看是否已使用最新版本修复了该错误。...

答案 3 :(得分:1)

由于找不到答案,因此将其保留在此处。

转到Docker GUI->首选->重置->卸载

完全卸载Docker。

然后使用this link

重新安装

我的docker在构建映像时使用了20GB的空间,全新安装后,它最大使用3-4GB。绝对有帮助!

此外,如果您使用的是Macbook,请查看~/Library/Containers/docker*

这个文件夹对我来说是60 GB,占用了我Mac上的所有空间!即使这可能与问题无关,但我认为将其留在此处至关重要。

答案 4 :(得分:0)

没有任何东西适合我。我在Docker设置中更改了磁盘映像的最大大小,然后释放了巨大的大小。

答案 5 :(得分:0)

如果您使用的是Linux,则docker很可能正在填充目录/var/lib/docker/containers,因为它将容器日志写入此目录下的<CONTAINER_ID>-json.log文件中。您可以使用命令cat /dev/null > <CONTAINER_ID>-json.log来清除此文件,也可以通过编辑/etc/sysconfig/docker来设置最大日志文件大小。可以在此RedHat documentation中找到更多信息。就我而言,我创建了一个crontab来每天午夜清除文件内容。希望这会有所帮助!

NB:

  1. 您可以使用以下命令找到具有 ID 的Docker容器 sudo docker ps --no-trunc
  2. 您可以使用以下命令检查文件的大小 du -sh $(docker inspect --format='{{.LogPath}}' CONTAINER_ID_FOUND_IN_LAST_STEP)