Docker Desktop for Windows 常见问题解答

我可以同时使用 VirtualBox 和 Docker Desktop 吗?

是的,如果您的计算机上已启用Windows Hypervisor Platform功能,则可以在运行 Docker Desktop 的同时运行 VirtualBox。

为什么需要 Windows 10 或 Windows 11?

Docker Desktop 使用 Windows Hyper-V 功能。尽管旧版 Windows 也包含 Hyper-V,但其 Hyper-V 实现缺少 Docker Desktop 正常运行所必需的关键功能。

我可以在 Windows Server 上运行 Docker Desktop 吗?

不支持在 Windows Server 上运行 Docker Desktop。

我能否为容器特定的部署需求更改共享卷的权限?

Docker Desktop 无法让您控制 (chmod) 已部署容器的 共享卷 的 Unix 风格权限,而是将权限设置为默认值 0777readwriteexecute 权限分别对应 usergroup),且该设置不可配置。

有关变通方法及更多信息,请参阅 共享卷数据目录的权限错误

Docker Desktop 支持两种类型的符号链接:Windows 原生符号链接和在容器内部创建的符号链接。

Windows 原生符号链接在容器中可见为符号链接,而容器内创建的符号链接则表示为 mfsymlinks。这些是带有特殊元数据的常规 Windows 文件。因此,在容器内创建的符号链接在容器内部可见为符号链接,但在宿主机上则不可见。

使用 Kubernetes 和 WSL 2 进行文件共享

Docker Desktop 将 Windows 主机文件系统挂载到运行 Kubernetes 的容器内的 /run/desktop。 请参阅 Stack Overflow 帖子,了解如何配置 Kubernetes 持久卷(Persistent Volume)以表示主机上的目录的示例。

如何添加自定义 CA 证书?

您可以将受信任的证书颁发机构(CA)添加到Docker守护进程,以验证注册表服务器证书及客户端证书,从而向注册表进行身份认证。

Docker Desktop 支持所有受信任的证书颁发机构(CA)(根证书或中间证书)。Docker 会识别存储在“受信任的根证书颁发机构”或“中间证书颁发机构”下的证书。

Docker Desktop 会基于 Windows 证书存储创建一个所有用户信任的证书颁发机构(CA)的证书包,并将其追加到 Moby 可信证书中。因此,如果企业 SSL 证书在主机上被用户信任,则 Docker Desktop 也会信任该证书。

若要了解如何为镜像仓库安装CA根证书,请参阅Docker Engine主题中的 使用证书验证仓库客户端

如何添加客户端证书?

您可以在 ~/.docker/certs.d/<MyRegistry><Port>/client.cert~/.docker/certs.d/<MyRegistry><Port>/client.key 中添加您的客户端证书。 您无需使用 git 命令推送您的证书。

当 Docker Desktop 应用程序启动时,它会将 Windows 系统上的 ~/.docker/certs.d 文件夹复制到 Moby(运行在 Hyper-V 上的 Docker Desktop 虚拟机)上的 /etc/docker/certs.d 目录。

您需要在更改钥匙串或 ~/.docker/certs.d 目录后重启 Docker Desktop,才能使更改生效。

无法将注册表列为不安全的注册表(请参见 Docker 守护进程)。Docker Desktop 会忽略 在不安全注册表下列出的证书,并且不会发送客户端 证书。尝试从注册表拉取的命令(如 docker run) 会在命令行以及注册表上产生错误消息。

要了解更多关于如何设置客户端 TLS 证书以进行验证的信息,请参阅 Docker Engine 主题中的 使用证书验证仓库客户端