Desktop 通用常見問題

我可以在離線狀態下使用 Docker Desktop 嗎?

是的,您可以在離線狀態下使用 Docker Desktop。但是,您無法訪問需要活動網際網路連線的功能。此外,在離線或隔離環境中,任何需要您登入的功能都將無法工作。這包括

如何連線到遠端 Docker Engine API?

要連線到遠端 Engine API,您可能需要為 Docker 客戶端和開發工具提供 Engine API 的位置。

Mac 和 Windows WSL 2 使用者可以透過 Unix 套接字連線到 Docker Engine:unix:///var/run/docker.sock

如果您正在使用像 Apache Maven 這樣需要 DOCKER_HOSTDOCKER_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