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
© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.