问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

排查 Docker Desktop 问题

创作时间:
作者:
@小白创作中心

排查 Docker Desktop 问题

引用
1
来源
1.
https://docs.docker.net.cn/desktop/troubleshoot/overview/

排查 Docker Desktop 问题

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

故障排除菜单

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

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

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

  • 重新启动 Docker Desktop.
  • 获取支持。拥有付费 Docker 订阅的用户可以使用此选项发送支持请求。其他用户可以使用此选项诊断 Docker Desktop 中的任何问题。有关更多信息,请参见诊断和反馈以及支持。
  • 重置 Kubernetes 集群。选择此选项以删除所有堆栈和 Kubernetes 资源。有关更多信息,请参见Kubernetes。
  • 清除/清理数据。此选项会重置所有 Docker 数据,但不会重置为出厂默认设置。选择此选项会导致丢失现有设置。
  • 重置为出厂默认设置:选择此选项将 Docker Desktop 上的所有选项重置为其初始状态,与首次安装 Docker Desktop 时相同。

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

诊断

提示

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

从应用程序中诊断

  1. 故障排除 中,选择 获取支持。这将打开应用内 支持 页面并开始收集诊断信息。

  1. 当诊断信息收集过程完成后,选择 上传以获取诊断 ID
  2. 上传诊断信息后,Docker Desktop 会打印一个诊断 ID。复制此 ID。
  3. 使用您的诊断 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 问题Mac,Windows或Linux。填写所需信息,并确保您添加了您在步骤二中复制的诊断 ID。

从终端诊断

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

Windows

  1. 找到 com.docker.diagnose 工具
$ C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe
  1. 创建并上传诊断 ID。在 PowerShell 中,运行
$ & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" gather -upload

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

Mac

  1. 找到 com.docker.diagnose 工具
$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose
  1. 创建并上传诊断 ID。运行
$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose gather -upload

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

Linux

  1. 找到 com.docker.diagnose 工具
$ /opt/docker-desktop/bin/com.docker.diagnose
  1. 创建并上传诊断 ID。运行
$ /opt/docker-desktop/bin/com.docker.diagnose gather -upload

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

要查看诊断文件的内容

Windows

  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"
  1. 在您喜欢的文本编辑器中打开文件。运行

Mac

运行

$ open /tmp/<your-diagnostics-ID>.zip

Linux

运行

$ unzip –l /tmp/<your-diagnostics-ID>.zip

使用您的诊断 ID 获取帮助

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

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

自诊断工具

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

Windows

  1. 找到 com.docker.diagnose 工具。
$ C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe
  1. 在 PowerShell 中,运行自诊断工具
$ & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" check

Mac

  1. 找到 com.docker.diagnose 工具。
$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose
  1. 运行自诊断工具
$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose check

Linux

  1. 找到 com.docker.diagnose 工具。
  2. 运行自诊断工具
$ /opt/docker-desktop/bin/com.docker.diagnose check

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

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

检查日志

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

Windows

在 PowerShell 中,运行

$ code $Env:LOCALAPPDATA\Docker\log

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

Mac

要在命令行中查看 Docker Desktop 日志的实时流,请从您喜欢的 shell 中运行以下脚本。

$ pred='process matches ".*(ocker|vpnkit).*" || (process in {"taskgated-helper", "launchservicesd", "kernel"} && eventMessage contains[c] "docker")'
$ /usr/bin/log stream --style syslog --level=debug --color=always --predicate "$pred"

或者,要将最后一天的日志(
1d
)收集到一个文件中,请运行

$ /usr/bin/log show --debug --info --style syslog --last 1d --predicate "$pred" >/tmp/logs.txt

从控制台应用程序

Mac 提供了一个内置的日志查看器,名为 控制台,可用于查看 Docker 日志。

控制台位于
/Applications/Utilities
中。您可以使用 Spotlight 搜索来查找它。

要读取 Docker 应用程序日志消息,请在控制台窗口搜索栏中输入
docker
并按 Enter 键。然后选择
ANY
以展开
docker
搜索条目旁边的下拉列表,然后选择
Process

您可以使用控制台日志查询来搜索日志,以各种方式筛选结果以及创建报告。

Linux

您可以通过运行以下命令来访问 Docker Desktop 日志

$ journalctl --user --unit=docker-desktop

您也可以在
$HOME/.docker/desktop/log/
中找到 Docker Desktop 中包含的内部组件的日志。

查看 Docker 守护进程日志

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

其他资源

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号