我如何找出 ddev 容器出了什么问题,或查看日志?

How can I find out what's going wrong with a ddev container, or see the logs?

我正在使用 ddev 开发一个项目,但我不知道如何解决问题,因为它们隐藏在 运行 所在的容器中。例如,我已经尝试了 ddev logs,但没有提供足够的信息。

ddev logs是调查的第一线。它获取 Web 容器的日志(nginx 错误日志和 php-fpm 错误日志,混合在一起)。

额外的方法:

  • 您可能(暂时)删除您可能已添加到 .ddev 文件夹中的项目的任何自定义 nginx/php/mysql 配置,因为这些是常见的罪魁祸首。
  • 请确保您使用的是与您正在使用的 ddev 版本匹配的当前 docker 图像。我建议删除 .ddev/config.yaml.
  • 中的任何 "webimage" 或 "dbimage" 行
  • ddev logs -f 将 "follow" 网络日志,因此您可以看到当您点击特定 URL 时会发生什么。
  • ddev logs -s db(或者当然 ddev logs -f -s db 会显示数据库容器的日志(MariaDB 日志)
  • 使用 ddev ssh(对于 web 容器)或 ddev ssh -s db(对于 db 容器)实际进入那里并环顾四周。最重要的日志位于 /var/log/ 和 /var/log/nginx。

请注意,在 ddev v0.18.0 之前,查看已停止容器的日志并不容易(例如,您需要使用 docker logs ddev-<project>-web),但在 v0.18.0 及更高版本中,ddev logs 在停止的容器上工作。