适用于 Windows 的 Docker Desktop 常见问题
我可以同时使用 VirtualBox 和 Docker Desktop 吗?
是的,如果您在计算机上启用了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 样式权限,而是将权限设置为默认值0777 (user
和 group
的read
、write
、execute
权限),这是不可配置的。
有关解决方法和更多信息,请参阅共享卷的数据目录上的权限错误。
符号链接在 Windows 上是如何工作的?
Docker Desktop 支持两种类型的符号链接:Windows 本机符号链接和在容器内创建的符号链接。
Windows 本机符号链接在容器内可见为符号链接,而在容器内创建的符号链接则表示为mfsymlinks。这些是具有特殊元数据的常规 Windows 文件。因此,在容器内创建的符号链接在容器内显示为符号链接,但在主机上则不是。
与 Kubernetes 和 WSL 2 的文件共享
Docker Desktop 在运行 Kubernetes 的容器内将 Windows 主机文件系统挂载到/run/desktop
下。有关如何配置 Kubernetes 持久卷以表示主机上的目录的示例,请参见Stack Overflow 帖子。
如何添加自定义 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 Daemon)。Docker Desktop 会忽略列在不安全注册表下的证书,并且不会发送客户端证书。尝试从注册表拉取镜像的命令(例如docker run
)会在命令行以及注册表上生成错误消息。
要了解有关如何设置客户端 TLS 证书以进行验证的更多信息,请参阅 Docker Engine 主题中的使用证书验证仓库客户端。