如何修复Docker中的磁盘空间不足错误?

gj3fmq9x  于 2022-11-02  发布在  Docker
关注(0)|答案(6)|浏览(158)

当我试图构建Docker映像时,我遇到了磁盘空间不足的错误,经过调查,我发现以下问题:

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

如何修复此空间不足错误?

gr8qqesn

gr8qqesn1#

docker system prune

https://docs.docker.com/engine/reference/commandline/system_prune/
这将清理所有未使用的映像、容器、网络和卷。我们通常会在创建新映像时尝试清理旧映像,但您也可以每天在Docker服务器上将其作为计划任务运行。

bbmckpt7

bbmckpt72#

使用命令-docker system prune -a这将清除映像,网络和卷总可回收大小.....这将删除与任何正在运行容器无关所有与映像相关可回收空间.....
运行docker system df命令查看可回收内存
如果有一些可回收的内存,那么如果上述命令在第一次运行时不起作用,然后运行相同的命令两次,那么它应该被清理....我几乎每天都遇到这种行为.....计划向Docker社区报告此错误,但在此之前,希望在新版本中重现此错误,看看最新版本中是否已修复此错误....

m528fe3b

m528fe3b3#

打开Docker设置-〉资源-〉高级,并在磁盘映像大小下增加它可以使用的硬盘空间量。

1u4esq0p

1u4esq0p4#

如果你使用的是linux,那么很可能docker正在填满/var/lib/docker/containers目录,因为它正在把容器日志写到这个目录下的<CONTAINER_ID>-json.log文件中。你可以使用cat /dev/null > <CONTAINER_ID>-json.log命令来清除这个文件,或者你可以设置最大日志文件大小来编辑/etc/sysconfig/docker。更多的信息可以在RedHat documentation中找到。在我的例子中,我已经创建了一个crontab来在每天午夜清除文件的内容。希望这有帮助!
注:
1.您可以使用以下命令sudo docker ps --no-trunc查找具有ID的Docker容器
1.您可以使用命令du -sh $(docker inspect --format='{{.LogPath}}' CONTAINER_ID_FOUND_IN_LAST_STEP)检查文件的大小

0dxa2lsx

0dxa2lsx5#

我在Docker设置中更改了磁盘图像的最大大小,然后它就释放了巨大的大小。

bxgwgixi

bxgwgixi6#

既然我找不到答案,就把这个留在这里。
转到Docker GUI -〉首选项-〉重置-〉卸载
完全卸载Docker。
然后使用this link全新安装
我的码头使用20 GB的空间时,建立一个形象,新鲜安装后,它使用3-4GB最大。绝对有帮助!
另外,如果你使用的是macbook,请查看~/Library/Containers/docker*
这个文件夹对我来说是60 GB,正在吞噬我Mac电脑上的所有空间!即使这可能与问题无关,我相信把这个留在这里对我来说至关重要。

相关问题