常见问题(FAQ)

预计阅读时间: 12分钟

在Windows的Docker桌面上寻找流行的常见问题解答? 查看Docker成功中心,获取知识库文章,常见问题解答,订阅级别的技术支持等。

有关稳定和边缘通道的问题

如何获得Docker桌面的稳定版或边缘版?

使用主题“ 下载Windows的Docker桌面”中给出的频道的下载链接。

本主题还提供有关这两个渠道的更多信息。

Docker桌面的稳定版和边缘版有什么区别?

Docker Desktop有两个不同的下载通道:

  • 稳定版频道为可完全烘焙和测试且更可靠的应用程序提供了可发布的通用可用性安装程序。稳定版的Docker Desktop包括最新发布的Docker Engine版本。发布时间表与Docker Engine版本和修补程序同步。在稳定通道上,您可以选择是否发送使用情况统计信息和其他数据。

  • Edge通道为安装程序提供了我们正在使用的新功能,但未必经过全面测试。它包括Docker Engine的实验版本。使用Edge版本时可能会发生错误,崩溃和问题,但是随着应用程序的发展,您有机会预览新功能,进行实验并提供反馈。边缘发布通常比稳定发布更频繁,通常每月发布一次或多次。使用情况统计信息和崩溃报告是默认发送的。您无法选择在Edge通道上禁用此功能。

我可以在Docker桌面的稳定版和边缘版之间来回切换吗?

是的,您可以在两个版本之间切换以试用Edge版本以查看新功能,然后返回Stable进行其他工作。但是, 一次只能安装一个应用程序 。在Stable和Edge应用之间来回切换可能会破坏开发环境的稳定性,尤其是在您从较新的(Edge)通道切换到较旧的版本(Stable)的情况下。

例如,切换回Stable后,使用较新的Edge版本的Docker Desktop创建的容器可能无法工作,因为它们可能是使用尚未在Stable中使用的Edge功能创建的。在创建和使用Edge容器时,请牢记这一点,也许是出于准备进行故障排除或重新开始的游乐场的精神。

要在Edge版本和Stable版本之间安全切换,请确保保存图像并导出所需的容器,然后在安装其他版本之前先卸载当前版本。下一部分将详细描述该工作流程。

如何保存和还原数据

例如,如果要在Edge和Stable之间切换,或重置VM磁盘,则可以使用以下过程保存和还原映像和容器数据:

  1. 使用docker save -o images.tar image1 [image2 ...]保存要保留的所有图像。(请参阅Docker Engine命令行参考中的保存 。)

  2. 使用docker export -o myContainner1.tar container1导出要保留的容器。(请参阅Docker Engine命令行参考中的导出 。)

  3. 卸载当前版本的Docker Desktop并安装其他版本(Stable或Edge),或重置VM磁盘。

  4. 使用docker load -i images.tar重新加载以前保存的图像。(请参阅Docker Engine中的负载

  5. 使用docker import -i myContainer1.tar创建与先前导出的容器相对应的文件系统映像。(请参阅Docker Engine中的import

此过程说明了如何备份和还原数据卷。

实验功能

实验功能提供了对未来产品功能的早期访问。这些功能仅用于测试和反馈,因为它们可能在版本之间更改而不会发出警告,或者可以从将来的版本中完全删除。实验功能不得在生产环境中使用。Docker不提供对实验功能的支持。有关更多信息,请参阅实验功能

要在Docker CLI中启用实验性功能,请编辑config.json文件,并将experimental设置为enabled。

要从Docker桌面菜单启用实验性功能,请单击设置 (macOS上的首选项 )> 守护程序 ,然后选择实验性功能复选框。

反馈

我们正在寻找什么样的反馈?

一切都是公平的游戏。我们希望您对下载安装过程,启动,可用功能,GUI,应用程序的实用性,命令行集成等有印象。告诉我们有关问题,您喜欢的东西或想要添加的功能的信息。

我们特别希望获得有关Docker Swarm中描述的swarm模式的反馈。教程是一个不错的起点。

如果我有问题或疑问怎么办?

您可以在“ 日志和故障排除”部分中找到有关诊断和故障排除常见问题的信息。

如果您在故障排除中找不到解决方案,请在GitHub上浏览Docker Desktop for Windows上的问题在GitHub上创建一个新的解决方案。您还可以基于诊断创建新问题。要了解有关运行诊断程序以及适用于Windows GitHub的Docker桌面的更多信息,请参阅诊断和反馈

Docker Desktop for Windows论坛包含讨论线程。您也可以在此处创建讨论主题,但是我们建议在论坛上使用GitHub问题,以实现更好的跟踪和响应。

如何选择不发送使用情况数据?

如果您不想发送使用情况数据,请使用稳定通道。有关更多信息,请参阅稳定和边缘通道 (“ Docker桌面的稳定和边缘版本之间有什么区别?”)。

Docker Desktop如何处理个人数据?

在上载诊断以帮助Docker调查问题时,上载的诊断包可能包含个人数据,例如用户名和IP地址。只有直接参与诊断Docker Desktop问题的Docker Inc.员工才能访问该诊断包。默认情况下,除非在docker / for-macdocker / for-win问题跟踪器上的未解决问题中引用了Docker,否则Docker Inc.将在30天后删除上传的诊断包。如果问题已解决,则Docker Inc.将在30天内删除引用的诊断包。您也可以通过指定诊断ID或通过GitHub ID(如果GitHub问题中提到了诊断ID)来请求删除诊断包。Docker Inc.将仅使用诊断捆绑包中的数据来调查特定的用户问题,但可能从中得出高级(非个人)指标,例如问题发生率。

我可以在Swarm模式下使用Docker Desktop吗?

是!您可以使用Docker Desktop测试Docker Engine 1.12引入的群体模式的单节点功能,包括使用单个节点初始化集群,创建服务和扩展服务。Hyper-V上的Docker“ Moby”充当单个群集节点。您还可以使用与Docker Desktop捆绑在一起的Docker Machine来创建和试验多节点集群。在“群体模式入门”中查看教程。

如何连接到远程Docker Engine API?

您可能需要为Docker客户端和开发工具提供Engine API的位置。

在Docker桌面上,客户端可以通过命名管道 npipe:////./pipe/docker_engine或位于此URL的TCP套接字 tcp://localhost:2375连接到Docker引擎。

DOCKER_HOSTDOCKER_CERT_PATH环境变量设置为给定值(对于命名管道或TCP套接字,无论使用哪种方式)。

另请参阅Docker Engine API和Windows Docker桌面论坛主题如何查找远程API

卷数

是否可以针对特定于容器的部署要求更改共享卷上的权限?

否,在这一点上,Docker Desktop不允许您控制( chmod共享卷上已部署容器的Unix样式的权限,而是将权限设置为默认值0777useruser readwriteexecute权限)。 group ),这是不可配置的。

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

为什么nodemon不选择在共享驱动器上安装的容器中的文件更改?

当前, inotify在Docker Desktop上不起作用。这是一个已知的问题。有关更多信息和临时解决方法,请参阅《 故障排除》中的 在共享驱动器上进行inotify无效

Docker Desktop支持在容器内创建的符号链接(符号链接)。符号链接在容器内部和容器之间解析。在Docker外部创建的符号链接不起作用。

要了解有关此限制原因的更多信息,请参见以下讨论:

证明书

如何添加自定义CA证书?

从Docker Desktop 1.12.1、2016-09-16(Stable)和Beta 26(2016-09-14 1.12.1-beta26)开始,支持所有受信任的证书颁发机构(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主题中的使用证书验证存储库客户端

为什么Docker Desktop有时会失去网络连接,从而导致pushpull命令失败?

在网络变化和系统睡眠周期之间,网络还不是完全稳定。退出并启动Docker Desktop以恢复连接。

我可以将VirtualBox与Docker Desktop一起使用吗?

不幸的是,在Windows上启用Hyper-V时,VirtualBox(以及其他类似VMWare的虚拟机管理程序)无法运行。

我可以与Docker Machine VM共享本地驱动器和文件系统吗?

不可以,将Docker Desktop与Hyper-V结合使用时,您无法与Docker Machine节点共享本地驱动器。共享驱动器可用于容器,但是Docker Desktop不支持您使用docker-machine创建的节点的挂载。

有关使用Docker Desktop与容器共享本地驱动器的更多信息,请参阅入门主题中的共享驱动器

要了解有关使用Docker Desktop和Docker Machine的更多信息,请参阅入门”主题中的安装前须知 。有关Docker Machine本身的更多信息,请参阅什么是Docker Machine? ,以及适用于Docker Machine的Hyper-V驱动程序

Windows要求

如何在Windows Server的Docker桌面上运行Windows容器?

请参阅关于Windows容器和Windows Server

完整的教程可从docker / labs中的Windows容器入门中获得

为什么不支持Windows 10 Home?

Docker Desktop需要Hyper-V功能,该功能在Windows Home版本中不可用。

为什么需要Windows 10?

Docker Desktop使用Windows Hyper-V功能。尽管较旧的Windows版本具有Hyper-V,但其Hyper-V实施缺少使Docker Desktop正常运行的关键功能。

为什么在安装了防火墙或防病毒软件后Docker Desktop无法启动?

某些防火墙和防病毒软件可能与Hyper-V不兼容,并且某些Windows 10版本(可能是“周年更新”)会影响Docker桌面。在`` 疑难解答''中 安装防火墙或防病毒软件后,请参阅Docker中的详细信息和解决方法无法启动

如何卸载Docker Toolbox?

有了Docker Desktop之后,您可能会决定不再需要旧版Docker Toolbox。有关如何在Windows上执行干净卸载Toolbox的详细信息,请参阅“ Toolbox Windows”主题中的“ 如何卸载Toolbox ”。

Windows常见问题解答