You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何排查Ddev容器故障?获取更详细日志的方法咨询

排查Ddev容器问题的详细方法

我懂你这种痛点——容器里的程序出问题,光靠ddev logs确实有时候找不到根因。下面分享几个我常用的排查方法,从查看详细日志到直接进入容器操作都有:

1. 查看单个容器的完整日志

默认的ddev logs会汇总所有服务的日志,信息量太杂而且可能被截断。你可以指定单个服务容器来获取更完整、针对性的日志:

  • 查看web容器(应用运行的核心容器)日志:ddev logs -s web
  • 查看数据库容器日志:ddev logs -s db
  • 如果有自定义服务(比如Redis、Solr),替换服务名即可:ddev logs -s redis
    想要实时跟踪日志更新?加上-f参数就行,和tail -f效果一样:ddev logs -s web -f

2. 直接进入容器内部排查

有时候看日志不如亲手操作来得直接,直接进到容器里就能像在本地环境一样排查:

  • 快速进入web容器:ddev ssh(默认就是进入web服务容器)
  • 进入其他容器(比如数据库):ddev ssh -s db
    进去之后可以直接查看服务的原生日志:
    • Apache的访问/错误日志:cd /var/log/apache2/ && cat access.log error.log
    • Nginx的日志:cd /var/log/nginx/ && cat access.log error.log
    • PHP-FPM的错误日志:cat /var/log/php8.2-fpm.log(替换成你的PHP版本号)
      另外别忘了查看应用自身的日志文件,比如Laravel的storage/logs/laravel.log、WordPress的wp-content/debug.log,这些日志往往能直接定位业务代码的问题。

3. 启用Ddev调试模式获取启动阶段的详细日志

如果是容器启动失败或者启动过程中出问题,常规日志可能没记录细节,开启调试模式就能看到Ddev启动时的每一步操作:

  • 临时启用调试模式运行命令:DDEV_DEBUG=true ddev start
  • 要是想长期启用,编辑全局配置文件~/.ddev/global_config.yaml,添加一行:
    debug: true
    
    之后所有Ddev命令都会输出详细的调试信息,帮你定位启动时的配置、依赖问题。

4. 检查容器状态与资源使用

有时候容器没出日志,但就是运行异常,可能是资源不足或者状态异常:

  • 查看Ddev项目的容器状态:ddev list,能看到每个服务的运行状态、端口映射情况
  • 用Docker原生命令看更全面的容器状态:docker ps -a,检查容器是否正常启动,有没有意外退出
  • 查看容器资源占用:docker stats,看看CPU、内存使用率是不是过高,有没有资源瓶颈导致程序崩溃

5. 开启应用自身的调试模式

很多框架都有自带的调试模式,开启后会输出更详细的错误信息:

  • WordPress:在wp-config.php里添加define('WP_DEBUG', true); define('WP_DEBUG_LOG', true);,错误日志会写入wp-content/debug.log
  • Drupal:后台开启“数据库日志”模块,或者直接查看sites/default/files/logs/下的日志文件
  • Laravel:把.env里的APP_DEBUG设为true,同时查看storage/logs/下的日志

内容的提问来源于stack exchange,提问作者rfay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:52:09