Docker Desktop 的资源节约模式
资源节约模式是 Docker Desktop 4.24 及更高版本中提供的一项新功能。它通过在一段时间内(默认为 5 分钟,但可以根据您的需要进行调整)自动停止 Docker Desktop Linux 虚拟机(当没有容器运行时),显著降低了 Docker Desktop 在主机的 CPU 和内存使用率,降低 2 GB 或更多。
在资源节约模式下,Docker Desktop 在空闲时使用最少的系统资源,从而使您能够节省笔记本电脑的电池电量并改善多任务处理体验。
如何配置资源节约模式
资源节约模式默认启用,但可以通过导航到**设置**中的**资源**选项卡来禁用。您还可以配置空闲计时器,如下所示。


如果提供的数值不足以满足您的需求,您可以将其重新配置为任何大于 30 秒的值,方法是更改 Docker Desktop 的 `settings-store.json` 文件(或 Docker Desktop 4.34 及更早版本中的 `settings.json` 文件)中的 `autoPauseTimeoutSeconds`。
- Mac:
~/Library/Group Containers/group.com.docker/settings-store.json
- Windows:
C:\Users\[USERNAME]\AppData\Roaming\Docker\settings-store.json
- Linux:
~/.docker/desktop/settings-store.json
重新配置后无需重启 Docker Desktop。
当 Docker Desktop 进入资源节约模式时
Docker Desktop 状态栏以及系统托盘中的 Docker 图标上会显示一个叶子图标。下图显示了资源节约模式开启时 Linux 虚拟机的 CPU 和内存使用率降至零。
不运行容器的 Docker 命令(例如列出容器镜像或卷)不一定能触发退出资源节约模式,因为 Docker Desktop 可以无需不必要地唤醒 Linux 虚拟机即可服务此类命令。
注意
Docker Desktop 在需要时会自动退出资源节约模式。导致退出资源节约模式的命令执行时间会稍长一些(大约 3 到 10 秒),因为 Docker Desktop 会重新启动 Linux 虚拟机。它在 Mac 和 Linux 上通常更快,在使用 Hyper-V 的 Windows 上较慢。一旦 Linux 虚拟机重新启动,后续的容器运行将像往常一样立即发生。
资源节约模式与暂停模式的比较
资源节约模式优先于旧的暂停功能,这意味着当 Docker Desktop 处于资源节约模式时,无法手动暂停 Docker Desktop(也没有意义,因为资源节约模式实际上会停止 Docker Desktop Linux 虚拟机)。一般来说,我们建议保持启用资源节约模式而不是禁用它并使用手动暂停功能,因为它可以节省更多的 CPU 和内存。
Windows 上的资源节约模式
在使用 WSL 的 Windows 上,资源节约模式的工作方式略有不同。它不会停止 WSL 虚拟机,而是只暂停 `docker-desktop` WSL 发行版中的 Docker Engine。这是因为在 WSL 中,所有 WSL 发行版共享一个 Linux 虚拟机,因此 Docker Desktop 无法停止 Linux 虚拟机(即,WSL Linux 虚拟机不是由 Docker Desktop 拥有的)。因此,资源节约模式会降低 WSL 上的 CPU 使用率,但不会降低 Docker 的内存使用率。
为了降低 WSL 上的内存使用率,我们建议用户启用 WSL 的 `autoMemoryReclaim` 功能,如Docker Desktop WSL 文档中所述。最后,由于 Docker Desktop 不会在 WSL 上停止 Linux 虚拟机,因此退出资源节约模式是即时的(没有退出延迟)。
反馈
要提供反馈或报告您可能发现的任何错误,请在相应的 Docker Desktop GitHub 仓库中创建一个问题