docker - 在Windows中移至WSL 2后向Docker容器分配内存

标签 docker docker-for-windows ubuntu-20.04 wsl-2

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

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

与WSL 2集成后,我找不到该选项。
enter image description here

我假设我应该从现在开始通过我的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/

相关文章:

powershell - 使用 powershell 运行交互式容器

Python Selenium Firefox 壁虎驱动程序。从终端分离浏览器

node.js - 在 WSL2 : Ubuntu 20. 04 for Windows 10 nodejs 中安装但 npm 不工作

docker - VPN可扩展性测试客户端设置的问题

elasticsearch - 使用 Elasticsearch 2.1 自己构建的 Docker 容器的权限问题

azure - Docker 永远不会在 Azure 上运行 - 等待对容器预热请求的响应

node.js - bluemix docker 容器绑定(bind)到 mongodb ('MongoError',消息 : 'connect ENETUNREACH' )

windows - Windows上的Docker多阶段COPY c:\windows不允许

powershell - 在构建过程中重启 Docker 容器