mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-08-30 12:45:32 +08:00
- 删除 source/stack/stack.json(与 README 模式表重复,无实际用途) - README 新增使用方式说明:可直接用,推荐复制后自定义 (admin:update 只更新原始模板,不覆盖开发者副本) - 同步清理 ulthon-deploy-environment.md 和 ulthon-update-workflow SKILL.md 中对 stack.json 的引用 - ulthon-deploy-environment.md 补充记录义务规则: 智能体应确认 project-dev-runtime-deploy.md 是否已记录运行方式, 必须包含命令执行方式(容器内 vs 宿主机)
60 lines
2.3 KiB
Markdown
60 lines
2.3 KiB
Markdown
# Stack 模式目录
|
||
|
||
本目录维护多种部署/运行模式的独立栈定义。每个模式是 `source/stack/` 下一个独立子目录。
|
||
|
||
## 使用方式
|
||
|
||
模式目录可以直接使用,也推荐复制一份出来自定义:
|
||
|
||
**直接使用**:`cd source/stack/docker-dev && docker compose up -d`
|
||
|
||
**复制后自定义**(推荐):
|
||
|
||
```bash
|
||
# 复制一份模板
|
||
cp -r source/stack/docker-dev source/stack/docker-dev-myproject
|
||
|
||
# 修改副本中的端口、服务配置等
|
||
# (如 compose 的 name、ports、volumes 等)
|
||
|
||
# 运行副本
|
||
cd source/stack/docker-dev-myproject && docker compose up -d
|
||
```
|
||
|
||
复制后自定义的好处:
|
||
|
||
- 框架更新(`admin:update`)只更新原始模板,不覆盖你的副本
|
||
- 可以基于同一个模板创建多个实例(如 dev / test 分开跑)
|
||
- 端口、服务配置等自定义不污染框架原始模板
|
||
|
||
## 启动与命令执行
|
||
|
||
1. `cd source/stack/<mode>`
|
||
2. `docker compose up -d`(首次会自动 build)
|
||
3. 在模式目录内执行命令:`docker compose exec <service> php think ...`
|
||
4. 或在仓库根目录:`docker compose -f source/stack/<mode>/docker-compose.yaml exec <service> php think ...`
|
||
|
||
## 可用模板
|
||
|
||
| 模式 | 说明 |
|
||
|------|------|
|
||
| `default` | 默认基线,仓库根目录 `php think run`,无 Docker 文件 |
|
||
| `docker-serve` | Docker 部署模式(基于基础镜像,nginx + php-fpm) |
|
||
| `docker-dev` | Docker 开发模式(nginx + php-fpm + MySQL + Redis + phpMyAdmin + Xdebug) |
|
||
| `docker-dev-sync` | Docker 开发模式 - Windows I/O 优化(rsync 同步,避免 bind mount 慢速问题) |
|
||
| `full` | 完整服务栈(规划中),从 PHP 镜像从头构建 |
|
||
| `author` | 框架作者维护工具(基础镜像构建、发布脚本等) |
|
||
|
||
> `author` 为框架作者专用,使用者一般不需要。
|
||
|
||
## default 目录规则(强约束)
|
||
|
||
- `source/stack/default/` 必须与代码库默认行为一致(`php think run`,不依赖 Docker)
|
||
- 默认行为相关文件变更时,必须同步更新 `default` 目录对应文件
|
||
- 该规则通过目录维护规范与代码评审保障,不作为运行时阻断条件
|
||
|
||
## 基础镜像
|
||
|
||
- `author/docker/Dockerfile.base` 为基础镜像构建文件,属于作者维护范围
|
||
- 推荐标签策略:`latest` + 时间戳(如 `20260424120000`)
|