我最近更新了Docker环境,使其在Windows的WSL 2
上运行。
为了在早期版本中设置容器的内存分配限制,我可以在Docker Desktop GUI中的Settings->Resources->Advanced->Preferences
下选择调整内存和CPU分配。
与WSL 2集成后,我找不到该选项。
我假设我应该从现在开始通过我的Linux发行版运行所有内容,因此这是我能够找到的解决方案:
docker run -d -p 8081:80 --memory="256m" container_name
我不想每次运行容器时都必须设置一个标志。有没有一种方法可以永久设置内存分配?
最佳答案
用于WSL2集成的内存和CPU设置已删除。但是,作为Windows Build 18945的一部分,有一种解决方法来限制WSL2内存使用。
Microsoft WSL团队引入了一个名为.wslconfig
的文件,用于调整WSL2设置。
基本上,您必须在%UserProfile%\.wslconfig
上创建该文件并设置以下设置。
[wsl2]
memory=6GB # Any size you feel like
swap=0
localhostForwarding=true
重新启动计算机,从现在开始,高内存消耗不会有任何问题。希望它会有所帮助!
关于docker - 在Windows中移至WSL 2后向Docker容器分配内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62405765/