Windows Docker 中的磁盘 space 问题

Disk space issue in Docker for Windows

我有一个 Ubuntu 容器,其中有一个存储我的 postgresql 数据库的卷。我的数据库在 space 中有 运行,因为它已故障转移,当我查询 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 中为 Windows 设置将磁盘映像大小增加到 160GB 并应用了更改,但是当我重新启动容器时,新磁盘 space 还没有已分配。

我很困惑这是报告 100% 使用率的容器还是实际存储数据的卷的问题。

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

无论哪种方式,您都可以通过 Hyper-V 管理器来完成。您单击“编辑磁盘”项,然后可以在那里扩展磁盘大小。确保先完全关闭并退出 Docker。

此外,在我完成后,我优化了它,像这样:

到 Optimize/Shrink 虚拟机(在 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