Docker for Windows中的磁盘空间问题

3

我有一个 Ubuntu 容器,其中有一个卷存储我的 postgresql 数据库。由于它已经失败转移,我的数据库已经用完了空间,当我查询 Ubuntu 容器上的磁盘统计信息时,我可以看到磁盘使用率已达到 100%:

root@b2b1bc6c247c:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay          59G   58G     0 100% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/sda1        59G   58G     0 100% /etc/hosts
tmpfs           3.9G     0  3.9G   0% /proc/acpi
tmpfs           3.9G     0  3.9G   0% /sys/firmware

我已将Docker for Windows的磁盘镜像大小增加到160GB,并应用了更改,但是当我重新启动容器时,新的磁盘空间没有被分配。

我很困惑,不知道这是否是报告使用率达到100%的容器问题,还是数据实际存储的卷的问题。


Windows 版 Docker Desktop 现在具有清除数据选项 -> https://dev59.com/zFoU5IYBdhLWcg3wYWOx#73137144 - ns15
1个回答

3

我之前也遇到过这个问题。我不确定稳定版是否已经添加了修复程序,但我相信他们在Edge版本中修复了它。

无论如何,您可以通过Hyper-V Manager来完成。您可以单击"编辑磁盘"项,然后在那里扩展磁盘大小。确保您先完全关闭并退出Docker。

进入图像描述

另外,在我完成后我对其进行了优化,如下所示:

要优化/收缩VM(在Powershell中):

  1. Mount-VHD -Path "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\DockerDesktop.vhdx" -ReadOnly
  2. Optimize-VHD -Path "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\DockerDesktop.vhdx" -Mode Full
  3. Dismount-VHD -Path "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\DockerDesktop.vhdx

非常感谢!这让我抓狂了。我找不到其他关于这种情况的参考。找到解决方案真棒。 - algorhythm
@algorhythm 很高兴能帮忙。在解决问题的过程中,我还发现了一个问题,就是在完成上述步骤后,DD UI 没有反映出新的大小更改(资源部分的滑块)。实际上,我就是报告了这个 bug,并在 Edge 版本 2.2.3.0 中得到了确认和修复,哈哈。https://github.com/docker/for-win/issues/5881 - J. Scott Elblein

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接