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

Docker容器中Laravel集成MPDF无法加载本地图片URL问题

解决方案:Docker环境下MPDF无法访问本地URL的问题

核心问题原因

Docker容器内的127.0.0.1指向容器自身,而非宿主机。你的MPDF运行在app容器中,当它请求http://127.0.0.1:8000时,实际是在请求app容器的8000端口,而该端口并未监听服务,因此出现连接拒绝错误。宿主机能正常访问是因为端口映射把8000转发到了nginx容器的80端口。

解决步骤

1. 修改.env配置中的APP_URL

将.env里的APP_URL改为Docker Compose中nginx服务的名称(同一网络内可直接通过服务名通信):

APP_URL=http://nginx/

2. 验证容器间通信

进入app容器执行curl命令,确认能正常访问图片:

docker exec -it f-scope-app curl http://nginx/uploads/report_templates/logo/logo-white.png

如果返回图片内容,说明配置生效。

3. 重启相关容器

修改配置后,重启app和nginx容器使配置生效:

docker-compose restart app nginx

补充说明

  • 同一Docker Compose网络中的服务,可直接通过服务名(如nginx、db)互相访问,无需使用IP或宿主机端口。
  • 你的HTML代码中使用{{url("...")}}会自动基于APP_URL生成正确的图片路径,无需修改HTML代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 04:57:26