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

Docker容器环境下Laravel的php artisan migrate无法执行问题

解决Docker PostgreSQL容器与Laravel连接的migrate报错问题

我刚经历了一模一样的折腾!花了一整天尝试把Docker里的PostgreSQL数据库连到Laravel应用,用Postico能顺利连上数据库,但一执行php artisan migrate就弹出报错:

SQLSTATE[08006] [7] could not connect to server...

临时快速解决方案

  • 先获取运行中PostgreSQL容器的IP地址,执行命令:
    docker inspect <postgres容器名称/ID> | grep IPAddress
    
  • 打开Laravel项目根目录的.env配置文件,更新两个参数:
    • 将DB_HOST替换为刚才查到的容器IP
    • 确认DB_PORT设置为容器映射的PostgreSQL端口(默认是5432,若自定义过则用对应端口)
  • 保存文件后重新执行php artisan migrate,问题就能解决了。

长期最佳实践

上面的方法只是临时解决,因为Docker容器重启后IP可能会发生变化。更稳妥的做法是:直接将.env里的DB_HOST设置为你的PostgreSQL容器的服务名称(比如在docker-compose.yml里定义的postgres服务名),Docker内部的DNS会自动将这个名称解析到对应的容器IP,不管容器怎么重启都不需要修改配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:02:47