Docker Desktop 的資源節約模式
資源節約模式是 Docker Desktop 4.24 及更高版本中提供的一項新功能。 它可以透過在沒有容器運行一段時間後自動停止 Docker Desktop Linux 虛擬機器,將 Docker Desktop 在主機上的 CPU 和記憶體使用率顯著降低 2 GB 或更多。 預設時間設定為 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 虛擬機器的 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 引擎。 這是因為在 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 儲存庫中建立一個議題