宝塔用户_uehgda 发表于 2025-8-13 14:27:25

【已完成】Docker模块创建的网站不支持Laravel、thinkphp等的Bug

宝塔版本:9.6.0

Docker 模块里创建网站,不支持Laravel、thinkphp等



原因是因为Laravel ,thinkphp 等框架,需要设置运行子目录为 public
这个bug最主要的问题是:当网站设置里设置运行子目录为public后,会把docker容器映射宿主的项目根路径,改为映射到linux根目录的 /public:/public


预期是网站设置里修改运行子目录,只修改Nginx配置,而非去修改容器映射的项目目录( ${SITE_PATH} : ${SITE_PATH})

临时解决的办法为:Docker创建网站后,打开:/www/server/panel/vhost/nginx 目录,找到你的 "域名.conf"文件 比如 "www.baidu.com.conf"
双击打开,修改 root 配置,后面加上 /public





还有另外一个Bug是:Docker模块的网站设置里设置的网站目录不生效,只能把网站文件拷贝到创建网站时默认自带的目录里。无论是创建时,还是后期修改都一样不行

阿珂 发表于 2025-9-13 10:56:16

修复面板到最新版即可

宝塔用户_uehgda 发表于 2025-9-23 18:59:31

阿珂 发表于 2025-9-13 10:56
修复面板到最新版即可
面板升级到v11.1.0

实测还有个问题,Laravel项目里,子目录选择public后

宝塔后台->Docker->容器编排->对应配置文件->.env->SITE_PATH变量,会变成项目路径+public路径

这会导致 挂在到容器的目录 就一个public目录,网站其他目录都不存在。网站运行不起来,显示HTTP状态码 500


解决方案

手动把 public 部分删掉,应为项目根目录。然后重启编排即可


页: [1]
查看完整版本: 【已完成】Docker模块创建的网站不支持Laravel、thinkphp等的Bug