管理基于 Docker 的开发实例及 git worktree,处理应用容器生命周期、数据库种子数据和代理路由激活,需要 mysql‑manager 等依赖。
Worktree 管理器 管理 Docker app例和 git 工作树用于本地开发是一项面向实际任务的技能,主要用于每个实例都获得自己的 docker 编译堆栈( 后端 + 前端) , 孤立的 git 分支和 . env. workt。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
用于本地开发的 Docker 应用实例与 Git worktree 管理工具。
每个实例拥有独立的 docker-compose 栈(后端 + 前端)、隔离的 Git 分支,以及一个 .env.worktree- 文件。MySQL 和 nginx-proxy 由各自独立的插件单独管理。
请按顺序先启动以下服务(顺序至关重要):
proxy-manager start — 创建共享 Docker 网络(nginx-proxy_net)mysql-manager start — 启动共享 MySQL 容器project/ ├── docker-compose.yml # 应用栈模板(后端 + 前端) ├── run.sh # 本插件的入口脚本(需复制到项目根目录) ├── .env.base # 主实例环境变量文件 ├── .env.worktree-# 每个 worktree 对应的环境变量文件(已加入 .gitignore) └── .worktrees/ └── / # Git worktree 目录(已加入 .gitignore)
main → 使用 .env.base,位于项目根目录worktree → 使用 .env.worktree-,检出至 .worktrees/http://.frontend.localhost / http://.backend.localhost 所有命令均需在项目根目录下执行:
./run.sh list # 显示所有实例及 MySQL/Proxy 状态 ./run.sh start [main|] # 初始化数据库、启动容器、连接代理 ./run.sh stop [main| ] # 停止容器(数据库数据保留) ./run.sh restart [main| ] # 先停止再启动 ./run.sh logs [main| ] # 实时查看容器日志 ./run.sh create-worktree # 创建 Git worktree、分支及环境变量文件 ./run.sh remove-worktree # 停止容器 + 删除数据库 + 移除 worktree
proxy-manager/run.sh start # 启动网络与 nginx-proxy mysql-manager/run.sh start # 启动 MySQL ./run.sh start main # 启动主应用实例
./run.sh create-worktree — 创建分支 worktree/、目录 .worktrees/ 及对应环境变量文件./run.sh start — 从 main 快照导入数据库、启动容器、激活代理路由./run.sh stop
用户确认提示:“是否删除 worktree ‘worktree/)以及 .env.worktree- 文件。”
./run.sh remove-worktree
./run.sh list
start 命令执行流程CREATE DATABASE IF NOT EXISTScodai_main 数据库 dump 并导入至当前实例数据库docker compose up --build -ddocker network connect — 将 proxy 连接到实例网络(激活路由)start 前,务必先运行 ./run.sh list 查看 MySQL/Proxy 状态。remove-worktree 前必须人工确认 — 此操作不可逆。start 成功后,需打印出前端与后端的访问 URL。./run.sh 不具备可执行权限,请先执行:chmod +x run.sh.env.worktree-* 文件与 .worktrees/ 目录必须加入 .gitignore。| 变量名 | 默认值 | 用途 |
|---|---|---|
MYSQL_CONTAINER |
codai_db |
MySQL 容器名称 |
MYSQL_ROOT_PASS |
secret |
MySQL root 用户密码 |
MYSQL_MAIN_DB |
codai_main |
快照导出的数据源数据库 |
PROXY_CONTAINER |
codai_nginx_proxy |
nginx-proxy 容器名称 |
PROJECT_PREFIX |
codai-dev |
Docker Compose 项目前缀 |
proxy-manager — 负责 nginx-proxy 的生命周期与网络管理(须最先启动)mysql-manager — 负责 MySQL 的生命周期与数据库管理(须第二启动)相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章