Docker Desktop资源节省模式会停止运行中的容器吗_Docker Desktop节省模式触发条件介绍

小杰酱_9499

小杰酱_9499

2026-10-24

469人浏览

原创

resource saver 模式仅在无容器运行时触发,空闲超时(默认30分钟)后释放wsl2内存缓存,不终止运行中容器;常见“容器消失”实为oom或compose重试导致,关闭该功能需在docker desktop设置中禁用或通过.wslconfig调整资源策略。

docker desktop资源节省模式会停止运行中的容器吗_docker desktop节省模式触发条件介绍

Resource Saver 模式不会停止正在运行的容器

它只在「没有任何容器运行」时才开始计时,一旦有 docker run 或 docker start 命令执行,Docker Desktop 会立刻退出该模式,所有资源恢复供应。你看到容器被“杀掉”,大概率是别的原因——比如 WSL2 内存耗尽触发了 OOM Killer,或者容器本身因健康检查失败被 Compose 自动重启。

Resource Saver 的真正触发条件是“空闲时长”

这个空闲,指的是从最后一个容器停止(docker stop 或自然退出)开始,到当前时间之间的时间间隔。它不看 CPU 使用率、不看内存占用、也不管你有没有打开 Docker Desktop 界面。

  • 默认空闲阈值是 30 分钟,无法通过 UI 修改,只能靠 CLI 或配置文件间接影响(例如关闭 Resource Saver)
  • 如果你设置了 5 分钟,那只要连续 5 分钟没容器在跑,它就会进入低功耗状态
  • 进入后,WSL2 虚拟机仍在运行,但内核会主动释放大量缓存页,vmmemWSL 进程内存占用会明显回落

为什么你感觉“容器被停了”,其实是 WSL2 配置和 Resource Saver 在打架

常见组合陷阱:

docker-container-rerun-all
docker-container-rerun-all

顺序检查并可选更新所有已在长期记忆中记录了固定重建命令的 docker run 容器。使用场景:用户...

下载
  • 你设了 memory=2GB 在 .wslconfig,但同时又开了 Resource Saver —— 后者在空闲时进一步压缩可用内存,导致容器刚启动就因内存不足被内核干掉
  • 你用 docker-compose up -d 启动服务,但其中某个容器启动失败(比如端口冲突、依赖未就绪),Compose 默认策略是反复重试,而每次失败都算作“容器已停止”,容易意外满足 Resource Saver 的空闲判定
  • macOS 上 Resource Saver 行为略有不同:它可能延迟唤醒虚拟机,造成 docker ps 短暂无响应,误判为容器消失

想彻底关掉 Resource Saver?只能禁用,不能调成“永不”

Docker Desktop UI 里没有“关闭”开关,但你可以绕过它:

  • Windows:在 PowerShell 中执行 wsl --shutdown,然后编辑 %UserProfile%\.wslconfig,加上 swap=0 并确保 memory 不设得过小(否则 WSL2 会自动启用 swap 作为兜底,反而激活 Resource Saver 逻辑)
  • macOS:Settings → Resources → Advanced → 取消勾选 Enable Resource Saver(注意:该选项在较新版本中已移至 Settings → General → Automatically reduce resources when idle)
  • 最稳方案:保持 Resource Saver 开启,但把空闲阈值拉到最大(60 分钟),同时用 docker stats 监控关键容器,避免依赖“永远在线”的假定

真正容易被忽略的是:Resource Saver 是全局开关,它不管你是开发调试还是 CI 构建,只要空闲就生效。如果你本地常驻一个 postgres 容器做开发数据库,又习惯下班前不关机,第二天早上很可能发现连接不上——不是容器挂了,是 WSL2 刚从深度节电里醒来,网络栈还没完全初始化完。

相关专题

更多
k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

2023.07.24

745

4

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

5819

6

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

6857

6

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

2673

7

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

299

16

Docker 容器部署
Docker 容器部署

本专题整合了Docker容器部署相关内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.31

451

14

Java容器化部署与Docker实践教程合集
Java容器化部署与Docker实践教程合集

聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes

2026.05.11

420

26

Go Docker与容器化部署教程合集
Go Docker与容器化部署教程合集

聚焦 Go 应用的容器化部署优势与实践,讲解 Go 静态编译特性(CGO_ENABLED=0)与 scratch / distroless 极小基础镜像构建、多阶段 Dockerfile 编写规范、交叉编译生成目标平台二进制、镜像安全扫描(Trivy)与漏洞修复、Docker Compose 本地编排开发环境、Kubernetes Deployment / Service / ConfigMap 部署 Go 服务、健康检查(Livene

2026.05.15

305

24

Hyperf 项目部署运维与性能调优手册
Hyperf 项目部署运维与性能调优手册

聚焦 Hyperf 在生产环境的落地,包含 Docker 高效打包、Swoole 配置优化、常见的内存溢出(OOM)问题排查方法以及热更新方案。

2026.05.19

465

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习