Desktop 的常规常见问题

我可以在离线状态下使用Docker 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用户可以通过**命名管道**连接到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虚拟机,然后将其转发到容器。有关更多详细信息,请参阅在Docker Desktop中使用USB/IP

如何不使用管理员权限运行Docker Desktop?

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.json文件,则在选择“完成”时,您会看到一个提示需要管理员权限的“完成设置 Docker Desktop”窗口。为避免这种情况,请确保在启动应用程序之前删除先前安装留下的settings.json文件。

注意

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

要在 Windows 上运行 Docker Desktop 且不需要管理员权限,请通过命令行安装并传递—always-run-service安装程序标志。

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