diff --git a/Docs/install_docker.md b/Docs/install_docker.md index 361eb01..2d21a51 100644 --- a/Docs/install_docker.md +++ b/Docs/install_docker.md @@ -38,26 +38,44 @@ curl -sSL https://git.whitetop.xyz/lxh2875931338/frpc-console/raw/main/run-deplo deploy.sh 是一个完整的状态机驱动部署引擎,按时间顺序执行以下操作: -阶段 步骤 说明 -检测 检测操作系统 自动识别 openSUSE / Ubuntu / Debian / CentOS / Alpine / Arch -检测 检测 CPU 架构 自动适配 x86_64 / ARM64 / ARMv7 / ARMHF -检测 检测必要工具 git / curl / wget(如未安装则自动安装) -检测 检测 Docker 环境 确认 Docker 已安装,获取版本信息 -检测 检测镜像源配置 读取 /etc/docker/daemon.json,检测用户配置和默认地址连通性 -决策 状态机计算 根据检测结果决定:是否写入镜像源 / 是否重排 / 是否重启 Docker -决策 生成部署计划 展示完整操作清单,等待用户确认 -执行 拉取源码 从 Gitea 仓库克隆对应分支的最新代码 -执行 配置镜像源 按需写入 registry-mirrors,自动备份非法/空配置文件 -执行 重启 Docker 如需生效,自动重启 Docker 服务(交互模式需确认) -执行 构建镜像 使用源码中的 Dockerfile 构建 frpc-console:${VERSION} -执行 清理旧容器 检测并删除已存在的 frpc-console 容器(如有) -执行 启动容器 挂载数据卷,--restart=always,--network host -执行 写入版本 将版本号写入 data/version.ini -验证 验证镜像内容 确认 /app/frpc-console 存在 -验证 验证数据库 确认 SQLite 数据库可访问 -验证 验证版本 确认容器内版本与目标版本一致 -清理 清理旧镜像 保留最近 3 个镜像,自动删除更早版本 -清理 清理临时文件 删除 /tmp/frpc-console-build +```mermaid +flowchart TD + subgraph 检测阶段 + A[检测操作系统] --> B[检测CPU架构] + B --> C[检测必要工具] + C --> D[检测Docker环境] + D --> E[检测镜像源配置] + end + + subgraph 决策阶段 + E --> F[状态机计算] + F --> G[生成部署计划] + G --> H[用户确认] + end + + subgraph 执行阶段 + H --> I[拉取源码] + I --> J[配置镜像源] + J --> K[重启Docker] + K --> L[构建镜像] + L --> M[清理旧容器] + M --> N[启动容器] + N --> O[写入版本] + end + + subgraph 验证阶段 + O --> P[验证镜像内容] + P --> Q[验证数据库] + Q --> R[验证版本] + end + + subgraph 清理阶段 + R --> S[清理旧镜像] + S --> T[清理临时文件] + end + + T --> U[部署完成] +``` ---