Docker Desktop 的资源节省模式
资源节省模式通过在一段时间内没有容器运行时自动停止 Docker Desktop Linux 虚拟机,显著减少 Docker Desktop 在主机上的 CPU 和内存使用,减少量可达 2GB 或更多。默认时间设置为 5 分钟,但这可以根据您的需求进行调整。
启用资源节省模式后,Docker Desktop 在闲置时会使用最少的系统资源,从而帮助您节省笔记本电脑电量并改善多任务体验。
配置资源节省模式
资源节省模式默认启用,但可以通过在“设置”中导航到“资源”选项卡来禁用。您还可以配置闲置计时器,如下所示。


如果可用值不足以满足您的需求,您可以通过更改 Docker Desktop 的 settings-store.json
文件(或 Docker Desktop 4.34 及更早版本的 settings.json
文件)中的 autoPauseTimeoutSeconds
,将其重新配置为任何值,只要该值大于 30 秒即可。
- 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 VM 的 CPU 和内存使用率降低到零。
不运行容器的 Docker 命令(例如列出容器镜像或卷)不一定会触发退出资源节省模式,因为 Docker Desktop 可以在不必要地唤醒 Linux VM 的情况下处理这些命令。
注意
Docker Desktop 在需要时会自动退出资源节省模式。导致退出资源节省模式的命令执行时间会稍长(大约 3 到 10 秒),因为 Docker Desktop 需要重启 Linux VM。这在 Mac 和 Linux 上通常更快,在带有 Hyper-V 的 Windows 上较慢。一旦 Linux VM 重新启动,后续的容器运行将立即执行,就像往常一样。
资源节省模式 vs. 暂停
资源节省模式比旧的暂停功能优先级更高,这意味着当 Docker Desktop 处于资源节省模式时,无法手动暂停 Docker Desktop(也没有意义,因为资源节省模式实际上停止了 Docker Desktop Linux VM)。一般来说,我们建议保持资源节省模式启用,而不是禁用它并使用手动暂停功能,因为它能带来更好的 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 VM,因此退出资源节省模式是即时的(没有退出延迟)。