当我试图构建Docker映像时,我遇到了磁盘空间不足的错误,经过调查,我发现以下问题:
df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 4G 3.8G 0 100% /
如何修复此空间不足错误?
gr8qqesn1#
docker system prune
https://docs.docker.com/engine/reference/commandline/system_prune/这将清理所有未使用的映像、容器、网络和卷。我们通常会在创建新映像时尝试清理旧映像,但您也可以每天在Docker服务器上将其作为计划任务运行。
bbmckpt72#
使用命令-docker system prune -a这将清除映像,网络和卷总可回收大小.....这将删除与任何正在运行容器无关所有与映像相关可回收空间.....运行docker system df命令查看可回收内存如果有一些可回收的内存,那么如果上述命令在第一次运行时不起作用,然后运行相同的命令两次,那么它应该被清理....我几乎每天都遇到这种行为.....计划向Docker社区报告此错误,但在此之前,希望在新版本中重现此错误,看看最新版本中是否已修复此错误....
docker system prune -a
docker system df
m528fe3b3#
打开Docker设置-〉资源-〉高级,并在磁盘映像大小下增加它可以使用的硬盘空间量。
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)检查文件的大小
/var/lib/docker/containers
<CONTAINER_ID>-json.log
cat /dev/null > <CONTAINER_ID>-json.log
/etc/sysconfig/docker
sudo docker ps --no-trunc
du -sh $(docker inspect --format='{{.LogPath}}' CONTAINER_ID_FOUND_IN_LAST_STEP)
0dxa2lsx5#
我在Docker设置中更改了磁盘图像的最大大小,然后它就释放了巨大的大小。
bxgwgixi6#
既然我找不到答案,就把这个留在这里。转到Docker GUI -〉首选项-〉重置-〉卸载完全卸载Docker。然后使用this link全新安装我的码头使用20 GB的空间时,建立一个形象,新鲜安装后,它使用3-4GB最大。绝对有帮助!另外,如果你使用的是macbook,请查看~/Library/Containers/docker*这个文件夹对我来说是60 GB,正在吞噬我Mac电脑上的所有空间!即使这可能与问题无关,我相信把这个留在这里对我来说至关重要。
~/Library/Containers/docker*
6条答案
按热度按时间gr8qqesn1#
https://docs.docker.com/engine/reference/commandline/system_prune/
这将清理所有未使用的映像、容器、网络和卷。我们通常会在创建新映像时尝试清理旧映像,但您也可以每天在Docker服务器上将其作为计划任务运行。
bbmckpt72#
使用命令-
docker system prune -a
这将清除映像,网络和卷总可回收大小.....这将删除与任何正在运行容器无关所有与映像相关可回收空间.....运行
docker system df
命令查看可回收内存如果有一些可回收的内存,那么如果上述命令在第一次运行时不起作用,然后运行相同的命令两次,那么它应该被清理....我几乎每天都遇到这种行为.....计划向Docker社区报告此错误,但在此之前,希望在新版本中重现此错误,看看最新版本中是否已修复此错误....
m528fe3b3#
打开Docker设置-〉资源-〉高级,并在磁盘映像大小下增加它可以使用的硬盘空间量。
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)
检查文件的大小0dxa2lsx5#
我在Docker设置中更改了磁盘图像的最大大小,然后它就释放了巨大的大小。
bxgwgixi6#
既然我找不到答案,就把这个留在这里。
转到Docker GUI -〉首选项-〉重置-〉卸载
完全卸载Docker。
然后使用this link全新安装
我的码头使用20 GB的空间时,建立一个形象,新鲜安装后,它使用3-4GB最大。绝对有帮助!
另外,如果你使用的是macbook,请查看
~/Library/Containers/docker*
这个文件夹对我来说是60 GB,正在吞噬我Mac电脑上的所有空间!即使这可能与问题无关,我相信把这个留在这里对我来说至关重要。