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 风格权限,而是将权限设置为默认值
0777
(read、write、execute 权限分别对应 user 和 group),且该设置不可配置。
有关变通方法及更多信息,请参阅 共享卷数据目录的权限错误。
符号链接在 Windows 上是如何工作的?
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 主题中的 使用证书验证仓库客户端。