Desktop 的一般常见问题解答

我可以离线使用 Docker Desktop 吗?

是的,您可以离线使用 Docker Desktop。但是,您 无法访问需要有效 Internet 的功能 连接。此外,在离线或在离线环境中使用 Docker Desktop 时,任何需要您登录的功能都将不起作用。 这包括:

如何连接到远程 Docker Engine API?

要连接到远程 Engine API,您可能需要为 Docker 客户端和开发工具提供 Engine API 的位置。

Mac 和 Windows WSL 2 用户可以通过 Unix 套接字连接到 Docker 引擎:unix:///var/run/docker.sock.

如果您正在使用像 Apache Maven 这样的应用程序,这些应用程序需要DOCKER_HOSTDOCKER_CERT_PATH环境 变量,请指定这些变量以通过 Unix 套接字连接到 Docker 实例。

例如:

$ export DOCKER_HOST=unix:///var/run/docker.sock

Docker Desktop Windows 用户可以通过命名管道连接到 Docker Engine:npipe:////./pipe/docker_engine或此 URL 上的 TCP 套接字tcp://localhost:2375.

有关详细信息,请参阅 Docker Engine API

如何从容器连接到主机上的服务?

主机的 IP 地址正在更改,如果您没有网络访问权限,则没有 IP 地址。 我们建议您连接到特殊的 DNS 名称host.docker.internal, 解析为主机使用的内部 IP 地址。

有关更多信息和示例,请参阅如何从容器连接到主机上的服务

我可以通过 USB 设备传递到容器吗?

Docker Desktop 不支持直接 USB 设备直通。但是,您可以使用 USB over IP 将常见的 USB 设备连接到 Docker Desktop VM,然后转发到容器。有关更多详细信息,请参阅将 USB/IP 与 Docker Desktop 结合使用

如何在没有管理员权限的情况下运行 Docker Desktop?

Docker Desktop 仅需要管理员权限进行安装。安装后,不需要管理员权限即可运行它。但是,对于非管理员用户运行 Docker Desktop,必须使用特定的安装程序标志进行安装,并满足某些先决条件,这些先决条件因平台而异。


要在不需要管理员权限的情况下在 Mac 上运行 Docker Desktop,请通过命令行安装并传递—user=<userid>安装程序标志:

$ /Applications/Docker.app/Contents/MacOS/install --user=<userid>

然后,您可以使用指定的用户 ID 登录计算机,并启动 Docker Desktop。

注意

在启动 Docker Desktop 之前,如果settings.json文件中已存在~/Library/Group Containers/group.com.docker/目录中,您将看到 Finish setting up Docker Desktop (完成设置 Docker Desktop) 窗口,当您选择 Finish (完成) 时,该窗口会提示输入管理员权限。为避免这种情况,请确保删除settings.json在启动应用程序之前从任何先前安装中留下的文件。

注意

如果您使用的是 WSL 2 后端,请首先确保满足 WSL 2 所需的最低版本。否则,请先更新 WSL 2。

要在不需要管理员权限的情况下在 Windows 上运行 Docker Desktop,请通过命令行安装并传递—always-run-serviceinstaller 标志。

$ "Docker Desktop Installer.exe" install —always-run-service