在 Windows 中移动到 WSL 2 后分配给 docker 容器的内存

Memory allocation to docker containers after moving to WSL 2 in Windows

我最近在 Windows 上 WSL 2 上将我的 Docker 环境更新为 运行。

为了在以前的版本中设置容器的内存分配限制,我在 Settings->Resources->Advanced->Preferences 下的 Docker 桌面 GUI 中有选项来调整内存和 CPU 分配。

WSL 2 集成后,我找不到该选项。

我想我应该 运行 从现在开始我的 Linux 发行版中的所有内容,所以这是我能够找到的解决方案:

docker run -d -p 8081:80 --memory="256m" container_name

我不想每次 运行 设置一个容器时都必须设置一个标志。有没有办法永久设置内存分配?

为 WSL2 集成删除了内存和 CPU 设置。但是,从 Windows Build 18945 开始,有一个限制 WSL2 内存使用的解决方法。

创建一个 %UserProfile%\.wslconfig 文件来调整 WSL2 设置:

[wsl2]
memory=6GB  # Any size you feel like
swap=0
localhostForwarding=true

运行 Get-Service LxssManager | Restart-Service 在管理员 Powershell (或重新启动) 并验证任务管理器中的 vmmem 使用率是否下降。