我已经为 SQL Linux 数据文件创建了一个命名卷,但 251G 的默认大小太小了。 我按照说明扩展了 WSL2 VHD 的大小,然后使用
resize2fs
增加到大约 900GB。
sudo resize2fs /dev/sdb 900000M
使用
df -Th
我可以看到增加了865GB的大小,这很棒。但带有 docker 安装的设备仍然显示 251GB 的旧大小。
Filesystem Type Size Used Avail Use% Mounted on
/dev/sdb ext4 865G 1.2G 826G 1% /
tools 9p 3.8T 250G 3.5T 7% /init
none devtmpfs 13G 0 13G 0% /dev
tmpfs tmpfs 13G 0 13G 0% /sys/fs/cgroup
none tmpfs 13G 12K 13G 1% /run
none tmpfs 13G 0 13G 0% /run/lock
none tmpfs 13G 0 13G 0% /run/shm
none tmpfs 13G 0 13G 0% /run/user
tmpfs tmpfs 13G 399M 13G 4% /mnt/wsl
C:\ 9p 3.8T 250G 3.5T 7% /mnt/c
G:\ 9p 3.8T 428G 3.4T 12% /mnt/g
/dev/sdd ext4 251G 2.8G 236G 2% /mnt/wsl/docker-desktop-data/isocache
none tmpfs 13G 12K 13G 1% /mnt/wsl/docker-desktop/shared-sockets/host-services
/dev/sdc ext4 251G 126M 239G 1% /mnt/wsl/docker-desktop/docker-desktop-proxy
/dev/loop0 iso9660 384M 384M 0 100% /mnt/wsl/docker-desktop/cli-tools
我无法调整
/dev/sdd
或 /dev/sdc
的大小 - 我得到以下结果:
The containing partition (or device) is only 67108864 (4k) blocks.
You requested a new size of 74240000 blocks.
我尝试重新启动 Docker 并重新创建命名卷。
谁能告诉我我在这里做错了什么?如何增加指定卷的可用空间或让 docker 使用所有可用空间?
使用与 扩展 WSL2 VHD 的大小中相同的说明,只是代替执行步骤 2. 和 3。在后续步骤中将
%LOCALAPPDATA%\Docker\wsl\data\<disk>.vhdx
用作 <pathToVHD>
,其中 <disk>.vhdx
最有可能是 ext4.vhdx
并且完整路径很可能是 %LOCALAPPDATA%\Docker\wsl\data\ext4.vhdx
。
此外,在步骤 6 中,请务必在
resize2fs
命令中使用 Docker 分区,而不是 wsl2 分区。在您的开篇文章中,Docker 应该是 /dev/sdd
而不是 wsl2 /dev/sdb
。
参考资源 https://learn.microsoft.com/en-us/windows/wsl/disk-space 我遇到了两个问题,最终都解决了。
解决:
wsl.exe --system -d docker-desktop-data -u root
上面直接以root身份登录,不再需要sudo
解决:
mount -o remount,rw /mnt/wslg/distro