fix(stack): 修复 B-route 下所有 Dockerfile COPY 路径与 build context 不匹配

B-route 把 build context 改为仓库根后,Dockerfile 中的 COPY source/docker/...
和 chmod/ENTRYPOINT 引用 /var/www/html/source/docker/ 全部失效。

根因:
- 仓库根有全局 source/docker/(仅 nginx.conf/zz-phprun.ini/zz-phpfpm.conf 基础配置)
- 模式专属配置(run.sh、zzz-dev.ini、zzz-xdebug.ini 等)在 source/stack/<mode>/source/docker/
- COPY . 把全局 source/docker/ 复制进容器,但缺少模式专属文件
- 旧 COPY source/docker/zzz-dev.ini 在 context=仓库根时找不到文件

修复(所有 5 个模式统一):
- 每个 Dockerfile 在 COPY . 后加 rm -rf + ln -sf symlink,
  让 /var/www/html/source/docker 指向模式专属配置目录
- COPY ini 文件路径改为完整的 source/stack/<mode>/source/docker/...
- .dockerignore 去掉 source/stack/ 排除(配置文件仅几 KB,
  但 COPY 需要这些文件在 build context 中)
- .dockerignore 加 docker-dev/docker-dev-data 排除(旧数据残留)
This commit is contained in:
augushong
2026-07-22 23:18:16 +08:00
parent 0adc497818
commit 6bc661117c
6 changed files with 24 additions and 5 deletions

View File

@@ -11,6 +11,9 @@ RUN composer install --no-dev --no-interaction --no-scripts --no-autoloader
# 将当前目录下的文件拷贝到工作目录
COPY . /var/www/html
# B-route: build context 为仓库根,模式配置在 source/stack/<mode>/source/docker/
RUN rm -rf /var/www/html/source/docker && ln -sf /var/www/html/source/stack/author/source/docker /var/www/html/source/docker
# 生成自动加载文件
RUN composer dump-autoload --optimize --no-dev --classmap-authoritative