You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Desktop占用7GB内存,容器仅用200MB,如何限制其内存?

解决Docker Desktop内存占用过高的问题
  • 确认.wslconfig配置生效
    .wslconfig的修改需要重启WSL实例才能生效,仅重启Docker没用。打开PowerShell执行wsl --shutdown,然后重新启动Docker Desktop。之后可以通过wsl -d docker-desktop cat /proc/meminfo查看MemTotal值,确认是否接近1GB。
    注意:.wslconfig必须放在Windows用户目录下(C:\Users\<你的用户名>\.wslconfig),文件格式要正确,比如[wsl2]不能写错大小写,配置项拼写无误。

  • 调整Docker Desktop内置资源限制
    打开Docker Desktop的设置面板,进入Settings > Resources > Advanced,手动设置Memory上限为1GB(和.wslconfig保持一致)。当使用WSL2后端时,这里的设置会和.wslconfig协同作用,避免资源配置冲突。

  • 清理Docker缓存与冗余资源
    容器监控显示的内存只是运行中容器的占用,Docker的镜像、未使用的容器、缓存层都会占用WSL2实例的内存。可以:

    1. 在Docker Desktop的Settings > Resources > Disk usage中点击Clean up清理冗余资源;
    2. 执行命令docker system prune -a(会删除未使用的镜像、容器、网络等,执行前确认不需要这些资源)。
  • 手动触发WSL内存回收
    如果WSL2实例没有主动释放闲置内存,可进入docker-desktop实例执行内存回收命令:

    1. 打开PowerShell,执行wsl -d docker-desktop进入实例;
    2. 运行sudo echo 3 > /proc/sys/vm/drop_caches(需要sudo权限)。
      这个操作不会停止容器,只是释放WSL实例的闲置内存。
  • 检查是否有其他WSL实例运行
    如果同时有其他WSL2发行版在运行,它们的内存占用可能会被误统计到Docker Desktop进程中。执行wsl --list --running查看所有运行的WSL实例,关闭不需要的实例(wsl -t <实例名>)。

内容的提问来源于stack exchange,提问作者Ross

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 09:52:11