适用于 Windows 的 Docker Desktop 常见问题解答

我可以在 Docker Desktop 旁边使用 VirtualBox 吗?

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

为什么需要 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 权限,而是将权限设置为 0777usergroupreadwriteexecute 权限)的默认值,该值不可配置。

有关解决方法和更多信息,请参阅 共享卷数据目录上的权限错误

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

Windows 本地符号链接在容器内显示为符号链接,而容器内创建的符号链接显示为 mfsymlinks。这些是带有特殊元数据的普通 Windows 文件。因此,在容器内创建的符号链接在容器内显示为符号链接,但在主机上则不会。

与 Kubernetes 和 WSL 2 共享文件

Docker Desktop 将 Windows 主机文件系统挂载到运行 Kubernetes 的容器内的 /run/desktop 下。请参阅 Stack Overflow 帖子 以获取有关如何配置 Kubernetes 持久卷以表示主机上的目录的示例。

如何添加自定义 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 主题中的 使用证书验证存储库客户端