更改 Windows 上的 Docker Desktop 設定

本頁面提供有關如何配置和管理您的 Docker Desktop 設定的資訊。

要導航到 **設定**,您可以

  • 選擇 Docker 選單 鯨魚選單,然後選擇 **設定**
  • 從 Docker 儀表板中選擇 **設定** 圖示。

您也可以在 C:\Users\[USERNAME]\AppData\Roaming\Docker\settings.json 中找到 settings.json 檔案。

一般

在 **常規** 選項卡上,您可以配置 Docker 的啟動時間並指定其他設定

  • **登入計算機時啟動 Docker Desktop**。選中此選項可在您登入計算機時自動啟動 Docker Desktop。

  • **Docker Desktop 啟動時開啟 Docker 儀表板**。選中此選項可在啟動 Docker Desktop 時自動開啟儀表板。

  • **選擇 Docker Desktop 主題**。選擇是要將 **淺色** 主題還是 **深色** 主題應用於 Docker Desktop。或者,您可以將 Docker Desktop 設定為 **使用系統設定**。

  • **選擇容器終端**。確定從容器中開啟終端時要啟動哪個終端。如果您選擇整合終端,則可以從 Docker 儀表板直接在正在執行的容器中執行命令。有關更多資訊,請參閱 探索容器

  • **預設情況下啟用 Docker 除錯**。選中此選項以在訪問整合終端時預設使用 Docker 除錯。有關更多資訊,請參閱 探索容器

  • **在 tcp://:2375 上公開守護程式,不使用 TLS**。選中此選項以使舊版客戶端能夠連線到 Docker 守護程式。您必須謹慎使用此選項,因為在不使用 TLS 的情況下公開守護程式會導致遠端程式碼執行攻擊。

  • **使用基於 WSL 2 的引擎**。WSL 2 的效能優於 Hyper-V 後端。有關更多資訊,請參閱 Docker Desktop WSL 2 後端

  • **將 *.docker.internal 名稱新增到主機 /etc/hosts 檔案中(需要密碼)**。允許您從主機和容器解析 *.docker.internal DNS 名稱。

  • **使用 containerd 拉取和儲存映象**。啟用 containerd 映象儲存。這帶來了新的功能,例如透過延遲拉取映象來加快容器啟動效能,以及使用 Docker 執行 Wasm 應用程式的能力。有關更多資訊,請參閱 containerd 映象儲存

  • **傳送使用統計資訊**。選中此選項可使 Docker Desktop 傳送診斷資訊、崩潰報告和使用資料。這些資訊有助於 Docker 改善和排查應用程式問題。清除複選框以選擇退出。Docker 可能會定期提示您提供更多資訊。

  • **使用增強型容器隔離**。選中此選項以透過防止容器破壞 Linux 虛擬機器來增強安全性。有關更多資訊,請參閱 增強型容器隔離

    注意

    此設定僅在您登入 Docker Desktop 且擁有 Docker Business 訂閱的情況下可用。

  • **顯示 CLI 提示**。在 CLI 中執行 Docker 命令時顯示 CLI 提示和技巧。預設情況下,此選項處於啟用狀態。要在 CLI 中啟用或停用 CLI 提示,請分別將 DOCKER_CLI_HINTS 設定為 truefalse

  • **SBOM 索引**。啟用此選項後,在 Docker Desktop 中檢查映象時,將顯示一個 **開始分析** 按鈕,選擇該按鈕後,將使用 Docker Scout 分析映象。

  • **啟用後臺 SBOM 索引**。啟用此選項後,Docker Scout 將自動分析您構建或拉取的映象。

資源

**資源** 選項卡允許您配置 CPU、記憶體、磁碟、代理、網路和其他資源。可用於配置的不同設定取決於您是使用 WSL 2 模式下的 Linux 容器、Hyper-V 模式下的 Linux 容器還是 Windows 容器。

高階

注意

**高階** 選項卡中的 **資源分配** 選項僅在 Hyper-V 模式下可用,因為 Windows 在 WSL 2 模式和 Windows 容器模式下管理資源。在 WSL 2 模式下,您可以配置對分配給 WSL 2 實用程式虛擬機器 的記憶體、CPU 和交換空間限制。

在 **高階** 選項卡上,您可以限制可用於 Docker Linux 虛擬機器的資源。

高階設定包括

  • **CPU 限制**。指定 Docker Desktop 要使用的最大 CPU 數量。預設情況下,Docker Desktop 設定為使用主機上可用的所有處理器。

  • **記憶體限制**。預設情況下,Docker Desktop 設定為使用高達 2 GB 的主機記憶體。要增加 RAM,請將此值設定為更高的數字;要減少 RAM,請降低數字。

  • **交換**。根據需要配置交換檔案大小。預設值為 1 GB。

  • **虛擬磁碟限制**。指定磁碟映像的最大大小。

  • **磁碟映像位置**。指定儲存容器和映象的 Linux 卷的位置。

    您也可以將磁碟映像移動到其他位置。如果您嘗試將磁碟映像移動到已經存在磁碟映像的位置,系統會詢問您是要使用現有映象還是替換它。

提示

如果您發現 Docker Desktop 開始變慢或您正在執行多容器工作負載,請增加記憶體和磁碟映像空間分配

  • **資源節約器**。啟用或停用 資源節約器模式,該模式透過在 Docker Desktop 空閒時(即沒有容器正在執行)自動關閉 Linux 虛擬機器來顯著降低主機上的 CPU 和記憶體使用率。

    您還可以配置資源節約器超時,該超時表示 Docker Desktop 應在空閒多長時間後才會啟動資源節約器模式。預設值為 5 分鐘。

    注意

    退出資源節約器模式會在容器執行時自動發生。退出可能需要幾秒鐘(約 3 到 10 秒),因為 Docker Desktop 正在重新啟動 Linux 虛擬機器。

檔案共享

注意

**檔案共享** 選項卡僅在 Hyper-V 模式下可用,因為在 WSL 2 模式和 Windows 容器模式下會自動共享檔案。

同步檔案共享

同步檔案共享是一種替代檔案共享機制,它提供快速靈活的主機到虛擬機器檔案共享,透過使用同步檔案系統快取來提高繫結掛載效能。適用於 Pro、Team 和 Business 訂閱。

要了解更多資訊,請參閱 同步檔案共享

虛擬檔案共享

使用檔案共享允許本地目錄在您的計算機上與 Linux 容器共享。這在主機上使用 IDE 編輯原始碼,同時在容器中執行和測試程式碼時特別有用。

請注意,為 Windows 容器配置檔案共享不是必需的,僅適用於 Linux 容器。如果目錄未與 Linux 容器共享,您可能會在執行時遇到 檔案未找到無法啟動服務 錯誤。請參閱 卷掛載需要 Linux 容器的共享資料夾

檔案共享設定包括

  • **新增目錄**。選擇 + 並導航到要新增的目錄。

  • **刪除目錄**。選擇要刪除的目錄旁邊的 -

  • **應用並重新啟動** 使目錄可用於使用 Docker 繫結掛載 (-v) 功能的容器。

有關共享資料夾、許可權和卷掛載的提示

  • 僅與容器共享所需的目錄。檔案共享會引入開銷,因為主機上的任何檔案更改都需要通知 Linux 虛擬機器。共享過多檔案會導致 CPU 負載過高和檔案系統性能下降。
  • 共享資料夾旨在允許在主機上編輯應用程式程式碼,同時在容器中執行。對於快取目錄或資料庫等非程式碼項,如果將它們儲存在 Linux VM 中,使用 資料卷(命名卷)或 資料容器,效能會好得多。
  • Docker Desktop 為使用者、組和其他使用者設定讀/寫/執行許可權 0777 或 a+rwx。 這是不可配置的。 請參閱 共享卷資料目錄的許可權錯誤
  • Windows 為應用程式提供了一個不區分大小寫的檔案系統檢視,而 Linux 區分大小寫。在 Linux 上,可以建立兩個獨立的檔案:testTest,而在 Windows 上,這些檔名實際上是指同一個底層檔案。這會導致應用程式在開發人員的機器上(共享檔案內容)正常執行,但在生產環境中執行在 Linux 上時失敗(檔案內容不同)。為了避免這種情況,Docker Desktop 要求所有共享檔案都以其原始大小寫訪問。因此,如果建立了一個名為 test 的檔案,則必須將其開啟為 test。嘗試開啟 Test 將導致錯誤“沒有此檔案或目錄”。類似地,一旦建立了一個名為 test 的檔案,嘗試建立第二個名為 Test 的檔案將失敗。

按需共享資料夾

您可以“按需”共享資料夾,即容器第一次使用特定資料夾時。

如果您從帶有卷掛載的 shell(如下面的示例所示)執行 Docker 命令,或者啟動包含卷掛載的 Compose 檔案,您將收到一個彈出視窗,詢問您是否要共享指定的資料夾。

您可以選擇**共享它**,在這種情況下,它將被新增到您的 Docker Desktop 共享資料夾列表中,並可供容器使用。或者,您也可以選擇不共享它,方法是選擇**取消**。

Shared folder on demand

代理

Windows 上的 Docker Desktop 支援使用 HTTP/HTTPS 和 SOCKS5 代理

HTTP/HTTPS 代理可以在以下情況下使用

  • 登入 Docker
  • 拉取或推送映象
  • 在映象構建期間獲取工件
  • 容器與外部網路互動
  • 掃描映象

如果主機使用 HTTP/HTTPS 代理配置(靜態或透過代理自動配置 (PAC)),Docker Desktop 會讀取此配置並自動將這些設定用於登入 Docker、拉取和推送映象以及容器的 Internet 訪問。

要為 Docker Desktop 設定不同的代理,請開啟**手動代理配置**並輸入格式為 http://proxy:porthttps://proxy:port 的單個上游代理 URL。

要防止開發人員意外更改代理設定,請參閱 設定管理

用於掃描映象的 HTTPS 代理設定使用 HTTPS_PROXY 環境變數設定。

如果您在 Docker 中執行 Windows 容器,您可以允許 Windows Docker 守護程序使用 Docker Desktop 的內部代理,使用**為 Windows Docker 守護程序使用代理**設定。這在手動配置或在系統級別設定需要身份驗證的公司代理時非常有用。如果您是組織的管理員並且擁有 Docker Business 訂閱,您可以使用 設定管理 使用 windowsDockerdPort 引數控制此設定。

注意

如果您使用託管在 Web 伺服器上的 PAC 檔案,請確保為伺服器或網站上的 .pac 副檔名新增 MIME 型別 application/x-ns-proxy-autoconfig。沒有此配置,PAC 檔案可能無法正確解析。

代理身份驗證

Docker Desktop 支援基本、Kerberos 和 NTLM 代理身份驗證方法。

基本身份驗證

如果您的代理使用基本身份驗證,Docker Desktop 會提示開發人員輸入使用者名稱和密碼,並快取憑據。所有密碼都安全地儲存在作業系統憑據儲存中。如果該快取被刪除,它將請求重新身份驗證。

建議您對 HTTP/HTTPS 代理使用 https:// URL,以在網路傳輸期間保護密碼。Docker Desktop 還支援 TLS 1.3 用於與代理的通訊。

Kerberos 和 NTLM 身份驗證

Kerberos 和 NTLM 代理身份驗證適用於擁有 Docker Desktop 4.30 及更高版本的 Business 訂閱使用者。除了指定代理 IP 地址和埠外,無需進行其他配置。

開發人員不再因提示輸入代理憑據而被打斷,因為身份驗證已集中。這也降低了由於錯誤的登入嘗試導致帳戶鎖定的風險。

如果您的代理在 407(Proxy Authentication Required) 響應中提供多個身份驗證方案,Docker Desktop 預設情況下會選擇基本身份驗證方案。如果您的代理伺服器為 Kerberos 或 NTLM 身份驗證配置正確,您可以在 Docker Desktop 安裝過程中啟用 Kerberos/NTLM 代理身份驗證。為此,您需要從命令列安裝 Docker Deskop 並傳遞安裝程式標誌“--proxy-enable-kerberosntlm”。適用於 Docker Desktop 4.32 及更高版本。

注意

Docker Desktop 還支援使用 SOCKS5 代理

網路

注意

**網路**選項卡在 Windows 容器模式下不可用,因為 Windows 管理網路。

Docker Desktop 使用私有 IPv4 網路用於內部服務,如 DNS 伺服器和 HTTP 代理。如果 Docker Desktop 選擇的子網與您的環境中的 IP 衝突,您可以使用**網路**設定指定自定義子網。

WSL 整合

在 WSL 2 模式下,您可以配置哪些 WSL 2 發行版將擁有 Docker WSL 整合。

預設情況下,該整合在您的預設 WSL 發行版上啟用。要更改您的預設 WSL 發行版,請執行 wsl --set-default <distro name>。(例如,要將 Ubuntu 設定為您的預設 WSL 發行版,請執行 wsl --set-default ubuntu)。

您還可以選擇任何要為其啟用 WSL 2 整合的其他發行版。

有關將 Docker Desktop 配置為使用 WSL 2 的更多詳細資訊,請參閱 Docker Desktop WSL 2 後端

Docker Engine

**Docker Engine**選項卡允許您配置用於執行 Docker Desktop 容器的 Docker 守護程序。

您使用 JSON 配置檔案配置守護程序。以下是該檔案可能的樣子

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false
}

您可以在 $HOME/.docker/daemon.json 中找到此檔案。要更改配置,可以直接從 Docker Desktop 的儀表板編輯 JSON 配置,或者使用您喜歡的文字編輯器開啟並編輯該檔案。

要檢視所有可能的配置選項的完整列表,請參閱 dockerd 命令參考

選擇**應用並重啟**以儲存您的設定並重啟 Docker Desktop。

構建器

如果您已開啟 Docker Desktop 構建檢視,則可以使用**構建器**選項卡在 Docker Desktop 設定中檢查和管理構建器。

檢查

要檢查構建器,請找到要檢查的構建器,然後選擇展開圖示。您只能檢查活動構建器。

檢查活動構建器會顯示

  • BuildKit 版本
  • 狀態
  • 驅動程式型別
  • 支援的功能和平臺
  • 磁碟使用情況
  • 端點地址

選擇其他構建器

**選定的構建器**部分顯示選定的構建器。要選擇其他構建器

  1. 在**可用構建器**下找到要使用的構建器
  2. 開啟構建器名稱旁邊的下拉選單。
  3. 選擇**使用**以切換到此構建器。

您的構建命令現在預設情況下使用選定的構建器。

建立構建器

要建立構建器,請使用 Docker CLI。請參閱 建立新的構建器

刪除構建器

如果您要刪除構建器,則需要滿足以下條件

要刪除構建器

  1. 在**可用構建器**下找到要刪除的構建器
  2. 開啟下拉選單。
  3. 選擇**刪除**以刪除此構建器。

如果構建器使用 docker-containerkubernetes 驅動程式,構建快取也會與構建器一起被刪除。

停止和啟動構建器

使用 docker-container 驅動程式 的構建器在容器中執行 BuildKit 守護程序。您可以使用下拉選單啟動和停止 BuildKit 容器。

執行構建會自動啟動容器(如果它已停止)。

您只能啟動和停止使用 docker-container 驅動程式的構建器。

Kubernetes

注意

**Kubernetes** 選項卡在 Windows 容器模式下不可用。

Docker Desktop 包含一個獨立的 Kubernetes 伺服器,以便您可以測試將 Docker 工作負載部署到 Kubernetes 上。要開啟 Kubernetes 支援並安裝作為 Docker 容器執行的獨立 Kubernetes 例項,請選擇**啟用 Kubernetes**。

選擇**顯示系統容器(高階)**以在使用 Docker 命令時檢視內部容器。

選擇**重置 Kubernetes 叢集**以刪除所有堆疊和 Kubernetes 資源。

有關將 Kubernetes 整合與 Docker Desktop 一起使用的更多資訊,請參閱 在 Kubernetes 上部署

軟體更新

**軟體更新**選項卡會通知您 Docker Desktop 上可用的任何更新。如果有新更新,您可以選擇立即下載更新,也可以選擇**發行說明**選項以瞭解更新版本中包含的內容。

透過清除**自動檢查更新**複選框來關閉更新檢查。這會停用 Docker 選單中的通知以及 Docker 儀表板上顯示的通知徽章。要手動檢查更新,請在 Docker 選單中選擇**檢查更新**選項。

要允許 Docker Desktop 在後臺自動下載新更新,請選擇**始終下載更新**。這將在更新可用時下載 Docker Desktop 的更新版本。下載更新後,選擇**應用並重啟**以安裝更新。您可以透過 Docker 選單或 Docker 儀表板中的**更新**部分來執行此操作。

擴充套件

使用**擴充套件**選項卡

  • 啟用 Docker 擴充套件
  • 僅允許透過 Docker Marketplace 分發的擴充套件
  • 顯示 Docker 擴充套件系統容器

有關 Docker 擴充套件的更多資訊,請參閱 擴充套件

開發中的功能

在**正在開發的功能**選項卡上,您可以控制**測試版功能**和**實驗性功能**的設定。

您也可以在 **開發預覽功能** 選項卡中註冊 開發者預覽計劃

測試版功能

Beta 功能提供對未來產品功能的訪問。這些功能僅用於測試和反饋,因為它們可能會在版本之間更改,恕不另行通知,或者完全從未來版本中刪除。Beta 功能不得用於生產環境。Docker 不提供對 Beta 功能的支援。

實驗性功能

在 **實驗功能** 選項卡中,您可以選擇允許功能標誌。這些是 Docker 目前正在試驗的功能。預設情況下,此功能已啟用。

這些功能僅用於測試和反饋,因為它們可能會在版本之間更改,恕不另行通知,或者完全從未來版本中刪除。Docker 不提供對實驗功能的支援。

通知

使用 **通知** 選項卡開啟或關閉以下事件的通知

  • 任務和流程的狀態更新
  • Docker 公告
  • Docker 調查

預設情況下,所有通知都已開啟。您將始終收到錯誤通知以及有關新 Docker Desktop 版本和更新的通知。

通知會暫時出現在 Docker 儀表板的右下角,然後移至 **通知** 抽屜。要開啟 **通知** 抽屜,請選擇 notifications