1. 文檔概述
本文檔旨在詳細說明 Docker Desktop for Windows 應用程序中“設置 (Settings)”界面下的所有可配置選項及其子選項。對于每個配置項,我們將提供其功能描述、推薦配置(如適用)以及相關注意事項,幫助用戶更好地理解和優化 Docker Desktop 的使用體驗。
適用版本: 本文檔基于 Docker Desktop 的最新穩定版本撰寫,部分特性可能隨 Docker Desktop 的更新而有所變化。
2. 進入設置界面
- 在 Windows 任務欄的系統托盤區找到 Docker 圖標。
- 右鍵點擊 Docker 圖標。
- 選擇“Settings”(設置)。
3. 各配置項詳細說明
Docker Desktop 的設置界面通常包含以下主要部分:
3.1 General (通用)
此部分包含 Docker Desktop 啟動行為、用戶體驗和基本連接設置。
-
Start Docker Desktop when you log in (在登錄時啟動 Docker Desktop)
- 功能: 控制 Docker Desktop 是否在 Windows 用戶登錄時自動啟動。
- 推薦:
- 啟用 (√): 如果您經常使用 Docker,建議啟用此選項,方便快速啟動。
- 禁用 ( ): 如果您不經常使用 Docker,或者希望手動控制啟動,可以禁用此選項以減少系統啟動時的資源占用。
- 注意事項: 啟用此選項可能會略微增加系統啟動時間。
-
Show Welcome Tour (顯示歡迎導覽)
- 功能: 控制是否在 Docker Desktop 啟動時顯示首次使用的歡迎導覽。
- 推薦: 首次使用時啟用,后續可以禁用。
-
Send usage statistics (發送使用統計數據)
- 功能: 是否允許 Docker Desktop 匿名收集和發送使用數據給 Docker 團隊,以幫助改進產品。
- 推薦: 根據個人隱私偏好選擇。啟用有助于 Docker 改進,禁用則保護隱私。
-
Enable Docker Compose V2 (啟用 Docker Compose V2)
- 功能: 啟用或禁用 Docker Compose 的最新版本 (V2)。Docker Compose V2 是一個用 Go 語言重寫的版本,它作為 Docker CLI 的一個插件集成,而非獨立的可執行文件。
- 推薦: 強烈推薦啟用 (√)。V2 提供了更好的性能、更簡化的安裝(隨 Docker Desktop 一起安裝)和持續的開發支持。它最終將取代 V1。
- 注意事項: 如果您的項目或腳本明確依賴于 Docker Compose V1 的行為,可能需要謹慎。但對于新項目或遷移,V2 是首選。
-
Use gRPC FUSE for file sharing (使用 gRPC FUSE 進行文件共享)
- 功能: 啟用或禁用 gRPC FUSE 后端用于 WSL2 中的文件共享。gRPC FUSE 是一種高性能文件共享機制,旨在提高從 Windows 主機到 WSL2 虛擬機內部的綁定掛載 (bind mount) 卷的性能。
- 推薦: 強烈推薦啟用 (√)。特別是在您需要將大量本地文件(如代碼庫)掛載到容器中進行開發時,它能顯著提高文件操作的性能。
- 注意事項: 僅在使用 WSL2 作為 Docker Desktop 后端時生效。如果遇到兼容性問題,可以嘗試禁用,但通常啟用能帶來更好的體驗。
-
Backup & Restore (備份與恢復)
- 功能: 提供備份和恢復 Docker Desktop 相關數據(如鏡像、卷、WSL2 虛擬機狀態等)的功能。
- 推薦:
- Backup (備份): 在進行系統大版本升級、Docker Desktop 升級或遷移到新機器之前,建議進行備份。
- Restore (恢復): 用于從備份文件恢復 Docker Desktop 的狀態。
- 注意事項: 備份文件通常較大,請確保有足夠的存儲空間。
-
Proxy (代理)
- 功能: 配置 Docker Desktop 連接互聯網的代理設置。這對于在公司網絡或需要通過代理訪問外部資源的場景至關重要。
- 子項:
- Use system proxy settings (使用系統代理設置): 默認選項,Docker Desktop 會嘗試檢測并使用 Windows 系統的代理設置。
- Manual proxy configuration (手動代理配置): 允許您手動輸入代理服務器地址和端口。
- Web Proxy (HTTP) (Web 代理 (HTTP)): HTTP 代理服務器地址和端口。
- Secure Web Proxy (HTTPS) (安全 Web 代理 (HTTPS)): HTTPS 代理服務器地址和端口。
- Bypass proxy for these hosts (不通過代理的主機): 允許您指定哪些主機或域名的流量不通過代理。通常用于內部網絡資源。
- 推薦: 如果您在公司網絡中使用 Docker 且公司有強制代理,請聯系您的 IT 部門獲取正確的代理設置。
- 注意事項: 配置錯誤的代理可能導致 Docker 無法拉取鏡像或連接外部網絡。
-
WSL Integration (WSL 集成)
- 功能: 管理 Docker Desktop 與 Windows Subsystem for Linux (WSL) 2 的集成。這是 Docker Desktop 在 Windows 上運行容器的推薦后端。
- 子項:
- Enable integration with my default WSL distro (啟用與我的默認 WSL 發行版的集成): 啟用后,您可以在您的默認 WSL 發行版中直接使用
docker
命令。 - 列表顯示已安裝的 WSL 發行版: 每個發行版旁邊都有一個開關。
- 推薦: 啟用 (√) 您希望在其中使用 Docker 命令的所有 WSL2 發行版。
- Enable integration with my default WSL distro (啟用與我的默認 WSL 發行版的集成): 啟用后,您可以在您的默認 WSL 發行版中直接使用
- 注意事項: 只有 WSL2 發行版才能與 Docker Desktop 集成。WSL1 不支持。啟用集成后,相應的 WSL 發行版將能夠訪問 Docker Desktop 提供的 Docker 守護進程。
-
Advanced (高級)
- 功能: 通常包含一些實驗性或不常用的通用設置。
- 推薦: 除非您明確知道其作用,否則不建議隨意更改。
3.2 Resources (資源)
此部分允許您配置分配給 Docker Desktop (即其底層的 WSL2 或 Hyper-V 虛擬機) 的系統資源。
-
Advanced (高級)
- 功能: 配置 Docker Desktop 后端虛擬機使用的 CPU、內存和磁盤空間。
- 子項:
- Memory (內存): 分配給 Docker Desktop 運行容器和鏡像的內存量。
- 推薦: 默認值通常適用于輕量級使用。如果您運行的容器需要大量內存或同時運行多個容器,請適當增加。一般建議將其設置為您系統總內存的 50%-75% 左右,但不要超過 8GB,除非您有特定的需求和充足的系統內存。
- 注意事項: 過多的內存分配可能會導致 Windows 主機系統性能下降。
- CPUs (CPU): 分配給 Docker Desktop 后端虛擬機的 CPU 核心數。
- 推薦: 默認值通常為 2 或 4 個核心。如果您運行的容器是 CPU 密集型任務,可以適當增加。
- 注意事項: 過多的 CPU 分配可能會導致 Windows 主機系統響應變慢。
- Disk image size (磁盤鏡像大小): Docker Desktop 用來存儲鏡像、容器層和卷的虛擬磁盤文件 (
ext4.vhdx
) 的最大大小。- 推薦: 默認通常是 64GB。對于大多數開發工作,這已經足夠。如果您經常拉取大量鏡像、構建大型鏡像或使用大量數據卷,可能需要增加。
- 注意事項: 這是 最大 大小,不代表立即占用這么多空間。文件會隨著使用增長,但不會超過此限制。增加此值不會立即占用更多磁盤空間,但會為將來的增長預留空間。
- Disk image location (磁盤鏡像位置): Docker Desktop 存儲其虛擬磁盤文件 (
ext4.vhdx
) 的路徑。- 推薦: 如果您的系統盤空間不足,或者您有更快的 SSD 硬盤,可以將其移動到其他驅動器。
- 注意事項: 更改位置需要重新啟動 Docker Desktop,并可能需要一段時間來移動現有數據。
- Memory (內存): 分配給 Docker Desktop 運行容器和鏡像的內存量。
-
WSL Integration (WSL 集成)
- 功能: (與 General 中的 WSL Integration 相同,這里是重復入口,方便用戶查看和管理) 管理 Docker Desktop 與 Windows Subsystem for Linux (WSL) 2 的集成。
- 推薦: 同 General 部分。
-
File Sharing (文件共享)
- 功能: 在使用 Hyper-V 后端時,此選項用于指定哪些 Windows 目錄可以作為綁定掛載卷共享給容器。在 WSL2 后端下,文件共享通常由 WSL2 的自動掛載機制和 gRPC FUSE (如果啟用) 負責,此選項的可見性可能降低或被替代。
- 子項:
- Add directory (添加目錄): 允許您添加特定的 Windows 目錄。
- Remove directory (刪除目錄): 移除已共享的目錄。
- 推薦: 僅共享您需要與容器交互的特定目錄,以提高安全性和性能。
- 注意事項: 如果使用 WSL2 后端并啟用了 gRPC FUSE,通常不需要在此處手動添加共享目錄,因為 WSL2 已經可以透明地訪問 Windows 文件系統。
3.3 Docker Engine (Docker 引擎)
此部分允許您直接編輯 Docker 守護進程 (dockerd) 的 JSON 配置文件,從而進行更高級的配置。
-
功能: 顯示并允許您編輯
daemon.json
文件。此文件定義了 Docker 守護進程的運行時行為,例如注冊表鏡像、不安全注冊表、日志驅動程序、數據根目錄等。 -
常見配置項:
registry-mirrors
: 注冊表鏡像列表。- 用途: 當您從 Docker Hub 拉取鏡像速度較慢時,可以使用國內或企業內部的鏡像加速器。
- 配置示例:
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com"] }
- 推薦: 根據您所在的網絡環境配置一個或多個國內鏡像加速器,可以顯著提升鏡像拉取速度。
insecure-registries
: 不安全注冊表列表。- 用途: 當您需要連接到使用 HTTP 或自簽名 HTTPS 證書的私有注冊表時。
- 配置示例:
{"insecure-registries": ["myregistry.example.com:5000"] }
- 推薦: 強烈不推薦在生產環境中使用。僅在開發或測試環境中使用,并確保您了解其安全風險。
data-root
: Docker 數據根目錄。- 用途: 更改 Docker 存儲所有鏡像、容器、卷等數據的物理位置。
- 配置示例:
{"data-root": "D:\\DockerData" }
- 推薦: 如果您的 C 盤空間不足,或希望將 Docker 數據存儲在速度更快的驅動器上,可以修改此路徑。
experimental
: 是否啟用實驗性功能。- 用途: 開啟 Docker 守護進程的實驗性功能。
- 配置示例:
{"experimental": true }
- 推薦: 不建議在生產環境啟用。在開發或測試環境中,如果您需要嘗試 Docker 的最新功能,可以啟用。
dns
: DNS 服務器地址。- 用途: 為 Docker 容器配置 DNS 服務器。
- 配置示例:
{"dns": ["8.8.8.8", "8.8.4.4"] }
- 推薦: 通常不需要手動配置,Docker Desktop 會繼承宿主機的 DNS 設置。如果容器內部 DNS 解析有問題,可以嘗試手動配置。
-
Apply & Restart (應用并重啟): 任何對
daemon.json
的更改都需要點擊此按鈕才能生效,Docker Desktop 會自動重啟。 -
注意事項: 直接編輯 JSON 文件需要謹慎,錯誤的配置可能導致 Docker 守護進程無法啟動。請確保 JSON 格式正確。
3.4 Builders (建設者)
此部分配置 Docker 構建鏡像的工具。
-
Default builder (默認構建器)
- 功能: 選擇 Docker 默認使用的構建工具。目前主要選項是 BuildKit。
- BuildKit: 新一代的 Docker 鏡像構建引擎,提供了更好的性能、緩存管理、并行構建和更高級的構建特性(如多階段構建的并發執行、更好的文件復制優化等)。
- 推薦: BuildKit (√)。它在性能和功能上都優于傳統的 Docker Build。
- 注意事項: 確保您的
Dockerfile
與 BuildKit 兼容,盡管大多數情況下是兼容的。
- 功能: 選擇 Docker 默認使用的構建工具。目前主要選項是 BuildKit。
-
Reset build cache (重置構建緩存)
- 功能: 清除 BuildKit 的所有構建緩存。
- 推薦: 當您遇到構建問題,懷疑是緩存導致時,或者需要確保構建是完全干凈的時,可以使用此功能。
3.5 Kubernetes (Kubernetes)
此部分允許您在 Docker Desktop 中啟用和管理一個本地的 Kubernetes 單節點集群。
-
Enable Kubernetes (啟用 Kubernetes)
- 功能: 勾選此選項以在 Docker Desktop 中安裝和啟動一個輕量級的 Kubernetes 集群。
- 推薦: 如果您需要本地開發和測試 Kubernetes 應用,請啟用此功能。
- 注意事項: 啟用 Kubernetes 會增加 Docker Desktop 的資源占用,并需要下載額外的 Kubernetes 鏡像。
-
Show system containers (顯示系統容器)
- 功能: 控制在 Docker Dashboard 的“Containers”視圖中是否顯示 Kubernetes 相關的系統容器(如
kube-proxy
,coredns
等)。 - 推薦: 默認可以禁用,以保持容器列表的整潔。如果您需要調試 Kubernetes 組件,可以啟用。
- 功能: 控制在 Docker Dashboard 的“Containers”視圖中是否顯示 Kubernetes 相關的系統容器(如
-
Kubernetes version (Kubernetes 版本)
- 功能: 顯示當前 Docker Desktop 內置的 Kubernetes 版本。此版本通常與 Docker Desktop 版本捆綁,不能單獨升級。
-
Reset Kubernetes Cluster (重置 Kubernetes 集群)
- 功能: 清除所有 Kubernetes 資源(pods, deployments, services 等)并重置 Kubernetes 集群到初始狀態。
- 推薦: 當您在本地 Kubernetes 環境中遇到無法解決的問題,或者希望從一個干凈的環境開始時,可以使用此功能。
- 注意事項: 此操作會刪除所有部署在本地 Kubernetes 集群中的應用數據。
3.6 Software Updates (軟件更新)
此部分管理 Docker Desktop 的軟件更新行為。
-
Check for updates automatically (自動檢查更新)
- 功能: 控制 Docker Desktop 是否定期檢查新版本。
- 推薦: 啟用,以確保您能及時獲取最新功能和安全補丁。
-
Download updates automatically (自動下載更新)
- 功能: 如果啟用自動檢查更新,此選項控制是否在后臺自動下載可用更新。
- 推薦: 啟用,可以減少手動下載的時間。
-
Current version (當前版本)
- 功能: 顯示您當前安裝的 Docker Desktop 版本號。
-
Release Notes (發行說明)
- 功能: 鏈接到 Docker Desktop 官方的發布說明頁面,您可以查看每個版本的新功能、改進和修復。
-
Check Now (立即檢查)
- 功能: 手動觸發一次更新檢查。
3.7 Extensions (擴展)
此部分管理 Docker Desktop 的擴展功能。
-
Enable Extensions (啟用擴展)
- 功能: 勾選此選項以啟用 Docker Desktop 擴展功能。
- 推薦: 如果您希望使用 Docker Desktop 提供的各種增強功能,請啟用此選項。
-
Extensions Marketplace (擴展市場)
- 功能: 引導您到 Docker Desktop 的擴展市場,您可以在其中發現和安裝各種第三方擴展,例如數據庫管理工具、IDE 集成、安全掃描等。
-
Installed Extensions (已安裝擴展)
- 功能: 列出您已安裝的所有 Docker Desktop 擴展,并允許您管理它們(如啟用/禁用、卸載)。
4. Troubleshoot (故障排除)
盡管“Troubleshoot”不是一個設置配置項,但它是 Settings 界面中非常重要的一部分,用于診斷和解決 Docker Desktop 的問題。
- Restart Docker Desktop (重啟 Docker Desktop): 最常見的故障排除步驟,重啟 Docker 守護進程。
- Reset to factory defaults (重置為出廠設置): 將 Docker Desktop 的所有設置恢復到初始狀態,并刪除所有鏡像和容器。
- 警告: 這將刪除所有本地 Docker 數據!
- Clean / Purge data (清理 / 清除數據): 僅清理 Docker 鏡像和容器數據,保留設置。
- Collect diagnostics (收集診斷信息): 收集 Docker Desktop 的診斷日志和系統信息,以便于報告問題給 Docker 支持團隊或進行自我診斷。
5. 總結與最佳實踐
- 定期更新: 保持 Docker Desktop 最新可以獲得最新的功能、性能改進和安全修復。
- 資源合理分配: 根據您的系統硬件和日常工作負載,合理分配 CPU、內存和磁盤資源,避免資源浪費或性能瓶頸。
- 利用 WSL2 后端: 對于 Windows 用戶,WSL2 是 Docker Desktop 的推薦后端,可提供更好的性能和更強的兼容性。
- 啟用 BuildKit: 使用 BuildKit 進行鏡像構建,提升構建效率。
- 配置鏡像加速器: 對于國內用戶,配置
registry-mirrors
是提升鏡像拉取速度的關鍵。 - 謹慎使用不安全注冊表和實驗性功能: 了解其風險,僅在必要時使用。
- 熟悉故障排除工具: 遇到問題時,善用“Troubleshoot”中的功能進行診斷和解決。