Desktop 的常规常见问题
我可以在离线状态下使用Docker Desktop吗?
是的,您可以离线使用Docker Desktop。但是,您无法访问需要活动互联网连接的功能。此外,任何需要您登录的功能在离线或隔离环境中使用Docker Desktop时都无法工作。这包括
- 中的资源学习中心
- 将镜像推送到Docker Hub或从Docker Hub拉取镜像
- 镜像访问管理
- 静态漏洞扫描
- 在Docker Dashboard中查看远程镜像
- 设置开发环境
- 使用BuildKit时的Docker Build。您可以通过禁用BuildKit来解决此问题。运行
DOCKER_BUILDKIT=0 docker build .
以禁用BuildKit。 - Kubernetes(首次启用Kubernetes时下载镜像)
- 检查更新
- 应用内诊断(包括自诊断工具)
- 发送使用情况统计信息
如何连接到远程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用户可以通过**命名管道**连接到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