排查 Docker Desktop 问题

此页面包含有关如何诊断和排查 Docker Desktop 问题以及如何检查日志的信息。

故障排除菜单

要导航到 **故障排除**,请执行以下操作:

  • 选择 Docker 菜单 whale menu,然后选择 **故障排除**
  • 选择 Docker 仪表板右上角附近的 **故障排除** 图标
Troubleshoot menu in Docker Desktop

**故障排除** 页面包含以下选项

  • 重新启动 Docker Desktop.

  • **获取支持**。拥有付费 Docker 订阅的用户可以使用此选项发送支持请求。其他用户可以使用此选项诊断 Docker Desktop 中的任何问题。有关更多信息,请参见 诊断和反馈 以及 支持

  • **重置 Kubernetes 集群**。选择此选项以删除所有堆栈和 Kubernetes 资源。有关更多信息,请参见 Kubernetes

  • **清除/清理数据**。此选项会重置所有 Docker 数据,但不会重置为出厂默认设置。选择此选项会导致丢失现有设置。

  • **重置为出厂默认设置**:选择此选项将 Docker Desktop 上的所有选项重置为其初始状态,与首次安装 Docker Desktop 时相同。

如果您是 Mac 或 Linux 用户,您还可以选择从系统中 **卸载** Docker Desktop。

诊断

提示

如果您在故障排除中没有找到解决方案,请浏览 GitHub 代码库或创建新问题

从应用程序中诊断

  1. 从 **故障排除** 中,选择 **获取支持**。这将打开应用内 **支持** 页面并开始收集诊断信息。
    Diagnose & Feedback
  2. 当诊断信息收集过程完成后,选择 **上传以获取诊断 ID**。
  3. 上传诊断信息后,Docker Desktop 会打印一个诊断 ID。复制此 ID。
  4. 使用您的诊断 ID 获取帮助
    • 如果您拥有付费 Docker 订阅,请选择 **联系支持**。这将打开 Docker Desktop 支持 表单。填写所需信息,并将您在步骤三中复制的 ID 添加到 **诊断 ID** 字段。然后,选择 **提交** 以请求 Docker Desktop 支持。

      注意

      您必须登录 Docker Desktop 才能访问支持表单。有关 Docker Desktop 支持范围的信息,请参见 支持

    • 如果您没有付费 Docker 订阅,请选择 **报告错误** 以在 GitHub 上打开一个新的 Docker Desktop 问题。填写所需信息,并确保您添加了您在步骤三中复制的诊断 ID。

从错误消息中诊断

  1. 当出现错误消息时,选择 **收集诊断信息**。
  2. 上传诊断信息后,Docker Desktop 会打印一个诊断 ID。复制此 ID。
  3. 使用您的诊断 ID 获取帮助
    • 如果您拥有付费 Docker 订阅,您可以 联系支持。填写所需信息,并将您在步骤二中复制的 ID 添加到 **诊断 ID** 字段。然后,选择 **提交** 以请求 Docker Desktop 支持。

      注意

      您必须登录 Docker Desktop 才能访问支持表单。有关 Docker Desktop 支持范围的信息,请参见 支持

    • 如果您没有付费 Docker 订阅,您可以在 GitHub 上打开一个新的 Docker Desktop 问题 MacWindowsLinux。填写所需信息,并确保您添加了您在步骤二中复制的诊断 ID。

从终端诊断

在某些情况下,自己运行诊断信息很有用,例如,如果 Docker Desktop 无法启动。


  1. 找到 com.docker.diagnose 工具

    $ C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe
    
  2. 创建并上传诊断 ID。在 PowerShell 中,运行

    $ & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" gather -upload
    

诊断信息完成后,终端会显示您的诊断 ID 和诊断文件路径。诊断 ID 由您的用户 ID 和时间戳组成。例如 BE9AFAAF-F68B-41D0-9D12-84760E6B8740/20190905152051


要查看诊断文件的内容


  1. 解压缩文件。在 PowerShell 中,将诊断文件路径复制粘贴到以下命令中,然后运行它。它应该类似于以下示例

    $ Expand-Archive -LiteralPath "C:\Users\testUser\AppData\Local\Temp\5DE9978A-3848-429E-8776-950FC869186F\20230607101602.zip" -DestinationPath "C:\Users\testuser\AppData\Local\Temp\5DE9978A-3848-429E-8776-950FC869186F\20230607101602"
  2. 在您喜欢的文本编辑器中打开文件。运行

    $ code <path-to-file>

使用您的诊断 ID 获取帮助

如果您拥有付费 Docker 订阅,请打开 Docker Desktop 支持 表单。填写所需信息,并将 ID 添加到诊断 ID 字段。请确保您提供了完整的诊断 ID,而不仅仅是用户 ID。选择 **提交** 以请求 Docker Desktop 支持。

如果您没有付费 Docker 订阅,请在 GitHub 上创建一个问题

自诊断工具

Docker Desktop 包含一个自诊断工具,可以帮助您识别一些常见问题。


  1. 找到 com.docker.diagnose 工具。

    $ C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe
    
  2. 在 PowerShell 中,运行自诊断工具

    $ & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" check
    

该工具会运行一系列检查,并在每个检查旁边显示 **通过** 或 **失败**。如果出现任何失败,它将在报告的末尾突出显示最相关的失败。

然后,您可以在 GitHub 上创建一个问题

检查日志

除了使用诊断选项提交日志外,您还可以自己浏览日志。


在 PowerShell 中,运行

$ code $Env:LOCALAPPDATA\Docker\log

这将在您喜欢的文本编辑器中打开所有日志,供您浏览。


查看 Docker 守护进程日志

请参阅 读取守护进程日志 部分,了解如何查看 Docker 守护进程日志。

其他资源