Desktop 通用常見問題
我可以在離線狀態下使用 Docker Desktop 嗎?
是的,您可以在離線狀態下使用 Docker Desktop。但是,您無法訪問需要活動網際網路連線的功能。此外,在離線或隔離環境中,任何需要您登入的功能都將無法工作。這包括
- 學習中心中的資源
- 從 Docker Hub 拉取或推送映象
- 映象訪問管理
- 靜態漏洞掃描
- 在 Docker 控制面板中檢視遠端映象
- 使用 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 套接字連線到 Docker Engine:unix:///var/run/docker.sock
。
如果您正在使用像 Apache Maven 這樣需要 DOCKER_HOST
和 DOCKER_CERT_PATH
環境變數設定的應用程式,請指定這些變數以透過 Unix 套接字連線到 Docker 例項。
例如:
$ export DOCKER_HOST=unix:///var/run/docker.sock
Docker Desktop Windows 使用者可以透過命名管道:npipe:////./pipe/docker_engine
或此 URL 的 TCP 套接字連線到 Docker Engine:tcp://:2375
。
有關詳細資訊,請參閱 Docker Engine API。
如何從容器連線到主機上的服務?
主機具有變化的 IP 地址,如果您的網路無法訪問,則可能沒有 IP 地址。建議您連線到特殊的 DNS 名稱 host.docker.internal
,它解析為主機使用的內部 IP 地址。
有關更多資訊和示例,請參閱如何從容器連線到主機上的服務。
我可以將 USB 裝置直通到容器嗎?
Docker Desktop 不支援直接 USB 裝置直通。但是,您可以使用 USB over IP 將常見的 USB 裝置連線到 Docker Desktop VM,然後轉發到容器。有關更多詳細資訊,請參閱在 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
),當您選擇“完成”時,您將看到一個“完成 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