Desktop 一般常見問題
我可以離線使用 Docker Desktop 嗎?
是的,您可以離線使用 Docker Desktop。但是,您將無法存取需要主動網際網路連線的功能。此外,任何需要您登入的功能在離線或實體隔離(air-gapped)環境中皆無法運作。這包括:
- 學習中心 (Learning Center) 中的資源
- 將映像檔推送 (push) 或拉取 (pull) 到 Docker Hub
- 映像存取管理
- 靜態弱點掃描
- 在 Docker 儀表板 (Dashboard) 中查看遠端映像檔
- 使用 BuildKit 時的 Docker Build。您可以透過停用 BuildKit 來繞過此問題。執行
DOCKER_BUILDKIT=0 docker build .即可停用 BuildKit。 - Kubernetes(映像檔會在您首次啟用 Kubernetes 時下載)
- 檢查更新
- 應用程式內診斷(包括 自我診斷工具)
- 發送使用統計數據
- 當
networkMode設定為mirrored時
我該如何連接到遠端 Docker Engine API?
若要連接到遠端 Engine API,您可能需要為 Docker 用戶端和開發工具提供 Engine API 的位置。
Mac 和 Windows WSL 2 使用者可以透過 Unix socket 連接到 Docker Engine:unix:///var/run/docker.sock。
如果您正在使用如 Apache Maven 等預期設定 DOCKER_HOST 和 DOCKER_CERT_PATH 環境變數的應用程式,請指定這些變數以透過 Unix socket 連接到 Docker 實例。
例如
$ export DOCKER_HOST=unix:///var/run/docker.sock
Docker Desktop Windows 使用者可以透過命名管道 (named pipe) 連接到 Docker Engine:npipe:////./pipe/docker_engine,或是透過此 URL 的 TCP socket:tcp://:2375。
有關詳細資訊,請參閱 Docker Engine API。
我該如何從容器連接到主機上的服務?
主機的 IP 位址會變動,若您沒有網路存取權則可能沒有 IP。建議您連接到特殊的 DNS 名稱 host.docker.internal,該名稱會解析為宿主機使用的內部 IP 位址。
更多資訊與範例,請參閱如何從容器連接到主機上的服務。
我可以將 USB 裝置透傳(pass through)給容器嗎?
Docker Desktop 不支援直接的 USB 裝置透傳。但是,您可以使用 USB over IP 將常見的 USB 裝置連接到 Docker Desktop 虛擬機,進而轉發給容器。詳細資訊請參閱 在 Docker Desktop 中使用 USB/IP。
我該如何在沒有管理員權限的情況下執行 Docker Desktop?
Docker Desktop 僅在安裝時需要管理員權限。一旦安裝完成,執行時則不需要管理員權限。然而,若要讓非管理員使用者執行 Docker Desktop,必須使用特定的安裝程式旗標進行安裝,並滿足各平台不同的特定前提條件。
若要在 Mac 上以非管理員權限執行 Docker Desktop,請透過命令列安裝並傳入 —user=<userid> 安裝程式旗標。
$ /Applications/Docker.app/Contents/MacOS/install --user=<userid>
接著,您可以使用指定的識別碼登入您的機器,並啟動 Docker Desktop。
注意在啟動 Docker Desktop 之前,如果
~/Library/Group Containers/group.com.docker/目錄中已經存在settings-store.json檔案(或 Docker Desktop 4.34 及更早版本的settings.json),當您選擇完成 (Finish) 時,會出現一個提示要求管理員權限的完成設定 Docker Desktop 視窗。為避免此情況,請確保在啟動應用程式之前刪除先前安裝所留下的settings-store.json檔案(或 Docker Desktop 4.34 及更早版本的settings.json)。
注意如果您使用 WSL 2 後端,請先確保您滿足 WSL 2 的最低版本要求。否則,請先更新 WSL 2。
若要在 Windows 上以非管理員權限執行 Docker Desktop,請透過命令列安裝並傳入 —always-run-service 安裝程式旗標。
$ "Docker Desktop Installer.exe" install —always-run-service