Files
ulthon_admin/source/stack/docker-dev/source/docker/nginx.conf
augushong 5797885f3d fix(stack): 修复 bind mount 遮蔽 build 期 symlink 导致容器启动失败
B-route 下 build context=仓库根 + bind mount /var/www/html 有两个问题:

1. ENTRYPOINT 引用 /var/www/html/source/docker/run.sh 在运行期找不到:
   build 期的 symlink 被 bind mount 完全覆盖,容器看到的是宿主机
   仓库根的 source/docker/(只有 nginx.conf/zz-phprun.ini/zz-phpfpm.conf,
   没有 run.sh)

2. 模式目录 source/docker/ 不自包含:
   只有 run.sh/zzz-dev.ini/zzz-xdebug.ini,缺基础配置

修复(docker-dev 模式):
- run.sh 改为用 SCRIPT_DIR 自动检测脚本所在目录
- Dockerfile ENTRYPOINT/chmod 改为完整路径
  /var/www/html/source/stack/docker-dev/source/docker/run.sh
- 基础配置(nginx.conf/zz-phprun.ini/zz-phpfpm.conf)复制到模式目录
  使其自包含

验证:docker compose build 通过,up 容器稳定运行,
nginx + PHP-FPM 启动成功,ThinkPHP CLI 正常(v8.1.4)
2026-07-22 23:29:50 +08:00

31 lines
651 B
Nginx Configuration File

server {
listen 8000 default_server;
listen [::]:8000 default_server;
root /var/www/html/public;
index index.php index.html index.htm;
server_name _;
# 上传大小不限制
client_max_body_size 8192m;
# 运行时长不限制
fastcgi_read_timeout 60000;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}