美文网首页dockerWSL
Windows环境下docker desktop修改最大内存

Windows环境下docker desktop修改最大内存

作者: 小KKKKKKKK | 来源:发表于2023-05-10 15:46 被阅读0次

    在使用docker中,创建的容器越来越多,docker desktop使用的内存不会增多

    据观察32G内存的机器,只使用了20G内存空间,再多就在使用swap分区,导致硬盘使用率增加

    在这种背景下,进行对docker desktop最大内存调整

    由于Windows版本的docker desktop是基于WSL2安装的,就需要了解WSL是什么?

    WSL是什么?

    适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。通过WSL,开发人员可以安装 Linux 发行版,并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。
    

    WSL与docker desktop关系

    通过启用基于 WSL 2 的引擎,可以在同一计算机上的 Docker Desktop 中运行 Linux 和 Windows 容器。
    
    所以说decker desktop是依赖于WSL,修改WSL的内存大小,就可以修改docker desktop的内存大小。
    

    修改WSL配置

    win + r,调出运行,输入“%UserProfile%”,进入用户文件夹

    在用户文件夹下创建一个新的文件,改名为“.wslconfig”

    打开文件,修改内容为

    [wsl2]
    memory=30GB
    processors=4
    swap=0
    localhostForwarding=true
    

    参数说明:

    memory: 表示可以使用的最大内存;

    processors: 使用的核心数量,默认和你的 Windows 系统使用的核心数一样;

    swap: 表示可以使用的swap大小,这里设置为不使用swap分区;

    localhostForwarding: 默认值为 true。如果 WSL 2 VM 中绑定到通配符或 localhost 的端口应该可以通过 localhost:port 从主机连接

    WSL生效

    配置完成后,配置无法立马生效,这里想到可以将WSL重启一下,故做了尝试

    在后台进程将docker desktop的进程都杀掉

    win + r,调出运行,输入“cmd”

    wsl --shutdown
    

    将wsl停掉

    然后打开docker desktop,把容器中各类程序拉起来

    后续观察到之前最多用20G的内存,现在用满了30G

    相关文章

      网友评论

        本文标题:Windows环境下docker desktop修改最大内存

        本文链接:https://www.haomeiwen.com/subject/yukjsdtx.html