29

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

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

在 WSL 2 集成之后,我找不到该选项。 在此处输入图像描述

我假设从现在开始我应该通过我的 Linux 发行版运行所有东西,所以这是我能够找到的解决方案:

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

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

4

1 回答 1

54

为 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任务管理器中的使用情况是否下降。

于 2020-07-07T10:52:18.887 回答