目录

修改Docker默认数据保存位置

目录

第一步

停止wsl

1
wsl --shutdown

第二步

移动默认位置(C:\Users\xxxxx\AppData\Local\Docker\wsl\data)下的ext4.vhdx到新位置,这里我们移动到D:\Docker\data目录下。

第三步

regedit打开注册表,定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss 将其下的DistributionNamedocker-desktop-data所在项对应的BasePath修改为新位置目录\\?\D:\Docker\data

完成

重新打开Docker Desktop

限制 wsl2 内存使用

这个解决方案来自 github,简单来说就是创建一个 %UserProfile%\.wslconfig 文件来限制 wsl 使用的内存总量。比如说我在 Windows 中使用的用户是 tinychen,那么我就在 C:\Users\tinychen 中创建了一个.wslconfig 文件,在里面加入以下内容来限制 wsl2 的内存总大小:

1
2
3
4
5
[wsl2]
memory=1GB
swap=8GB
swapFile=%USERPROFILE%\AppData\Local\Temp\swap.vhdx
localhostForwarding=true

复制以下内容粘贴到cmd中一键解决,然后重新启动Docker Desktop

1
2
3
4
5
6
wsl --shutdown
echo [wsl2] > %UserProfile%\.wslconfig
echo memory=1GB >> %UserProfile%\.wslconfig
echo swap=8GB >> %UserProfile%\.wslconfig
echo swapFile=^%USERPROFILE^%\AppData\Local\Temp\swap.vhdx >> %UserProfile%\.wslconfig
echo localhostForwarding=true >> %UserProfile%\.wslconfig

注意修改完成之后需要重启 wsl2 才能生效。更多详细的配置可以查看官方文档

其他

通过此方式,重装系统后,可以复用重装系统之前使用的Docker产生的镜像容器,即Docker数据持久化,同样,可用于Docker镜像、容器的移植。