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

如何在Docker容器内访问http://127.0.0.1:8000及Laravel部署优化

Laravel Docker部署相关问题解答

容器内部访问服务的方法

php artisan serve默认绑定的是本地回环地址127.0.0.1:

  • 如果你是在运行serve命令的同一个容器内部访问,直接请求http://127.0.0.1:8000即可正常访问,无需额外配置。
  • 如果你需要从同Docker网络下的其他容器访问该服务,需要修改启动命令,让服务绑定到所有网卡:
    php artisan serve --host=0.0.0.0 --port=8000
    
    修改后可以通过当前容器的IP/容器名+8000端口访问。

更优的部署方案

php artisan serve是专为本地开发设计的轻量服务器,并发能力极低,不建议在开发以外的场景使用,推荐以下替代方案:

开发场景

直接使用Laravel官方维护的Laravel Sail作为Docker运行环境,已经预制了PHP、Nginx、数据库、Redis等常用服务,无需手动编写Dockerfile,仅需简单配置即可启动全套开发环境。
如果需要自定义Docker配置,采用PHP-FPM + Nginx的组合架构:

  • PHP容器运行php-fpm进程处理业务逻辑
  • Nginx容器作为反向代理,负责静态资源响应、动态请求转发到PHP-FPM服务

生产场景

在PHP-FPM + Nginx的基础上,额外做以下优化:

  • 镜像构建阶段提前执行php artisan config:cache、php artisan route:cache、php artisan view:cache等缓存命令,降低运行时开销
  • 单独启动队列容器执行php artisan queue:work处理异步任务
  • 单独启动调度容器执行php artisan schedule:work处理定时任务
  • 如果流量较高可以配置负载均衡,横向扩展PHP-FPM容器实例

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:48:02