mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-08-30 12:45:32 +08:00
2.7 KiB
2.7 KiB
Stack 模式目录规范(B-route 工作流)
本目录维护多种部署/运行模式的独立栈定义。B-route 工作流下,每个模式是 source/stack/ 下一个独立子目录,不再覆盖仓库根目录:使用某个模式时 cd 进对应目录运行 docker compose up -d 即可。
工作流
- 默认基线(default):仓库根目录直接
php think run,根目录无 Docker 文件。 - 选择某个 Docker 模式:
cd source/stack/<mode>后docker compose up -d,bind mount 指向仓库根目录。 - 模式目录内执行命令:在该目录用
docker compose exec <service> php think ...,或在仓库根目录用docker compose -f source/stack/<mode>/docker-compose.yaml exec <service> php think ...。
目录结构
source/stack/stack.json:全局清单,记录default_mode与modes元数据,供人与工具查阅可用模式。source/stack/default/:默认行为基线目录(php think run,纯 PHP 内置服务器,不依赖 Docker)。source/stack/<mode>/:具体模式目录,内含该模式独立的docker-compose.yaml及配套文件(如 Dockerfile、nginx 配置、env 示例等)。
default 目录规则(强约束)
source/stack/default/必须与代码库默认行为一致。- 默认行为为
php think run(ThinkPHP 内置服务器),不依赖 Docker。 - 当默认行为文件变更时(如
.gitea/workflows/build-and-deploy.yml),必须同步更新default目录对应文件。 - 该规则通过目录维护规范与代码评审保障,不作为运行时阻断条件。
可用模式
| 模式 | 启动方式 | 说明 |
|---|---|---|
default |
仓库根目录 php think run |
默认基线,无 Docker 文件,宿主机直接跑 |
docker-serve |
cd source/stack/docker-serve && docker compose up -d |
Docker 部署模式(基于基础镜像,nginx + php-fpm) |
docker-dev |
cd source/stack/docker-dev && docker compose up -d |
Docker 开发模式(nginx + php-fpm + MySQL + Redis + phpMyAdmin + Xdebug) |
docker-dev-sync |
cd source/stack/docker-dev-sync && docker compose up -d |
Docker 开发模式 - Windows I/O 优化(rsync 同步,避免 bind mount 慢速问题) |
full |
cd source/stack/full && docker compose up -d |
完整服务栈(规划中),从 PHP 镜像从头构建 |
author |
cd source/stack/author |
框架作者维护工具(基础镜像构建、发布脚本等) |
历史
base-build模式已并入author。
基础镜像说明
author/docker/Dockerfile.base为基础镜像构建文件,属于作者维护范围。- 推荐标签策略:
latest+ 时间戳(如20260424120000)。