桌面版通用常见问题
我可以离线使用 Docker Desktop 吗?
是的,您可以离线使用 Docker Desktop。但是,您无法使用需要活跃互联网连接的功能。此外,在离线或无网络连接(air-gapped)环境中使用 Docker Desktop 时,任何需要登录的操作均无法正常工作。 这包括以下内容:
- The resources in the 学习中心
- 从Docker Hub拉取或推送镜像
- 镜像访问管理
- 静态漏洞扫描
- 在 Docker 仪表板中查看远程镜像
- 设置 开发环境
- 使用
BuildKit时的Docker构建。
您可以通过禁用BuildKit来规避此问题。运行
DOCKER_BUILDKIT=0 docker build .以禁用BuildKit。 - Kubernetes(首次启用 Kubernetes 时会下载镜像)
- 检查更新中
- 应用内诊断 (包括 自我诊断工具)
- 发送使用统计
如何连接到远程 Docker Engine API?
要连接到远程引擎 API,您可能需要为 Docker 客户端和开发工具提供引擎 API 的位置。
Mac 和 Windows WSL 2 用户可以通过 Unix 套接字连接到 Docker 引擎: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 引擎:npipe:////./pipe/docker_engine,或通过此 URL 的TCP 套接字:
tcp://localhost:2375。
有关详细信息,请参阅 Docker 引擎 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 不需要管理员权限。但是,对于非管理员用户来说,若要运行 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 时,将会看到一个 Finish setting up Docker Desktop 窗口,提示需要管理员权限。为避免这种情况,请确保在启动应用程序之前删除之前安装遗留的settings.json文件。
注意
如果您使用的是 WSL 2 后端,请首先确保您满足 WSL 2 的最低要求版本。否则,请先更新 WSL 2。
要在 Windows 上运行 Docker Desktop 而无需管理员权限,请通过命令行安装并传递 —always-run-service 安装程序标志。
$ "Docker Desktop Installer.exe" install —always-run-service