71 lines
2.5 KiB
Markdown
71 lines
2.5 KiB
Markdown
# WorkPod - 容器化开发环境
|
||
|
||
> 基于 Alpine 3.23 的轻量级开发容器,支持多项目隔离部署。
|
||
|
||
## 是什么
|
||
|
||
WorkPod 是一套 **Docker 容器化的全栈开发环境**,每个项目运行在独立容器中,通过 Web 终端(ttyd)或 SSH 访问。
|
||
|
||
## 核心特性
|
||
|
||
| 特性 | 说明 |
|
||
|------|------|
|
||
| 轻量镜像 | ~436MB(Alpine 多阶段构建) |
|
||
| 开箱即用 | Node.js 24 + Claude Code + ttyd + tmux |
|
||
| 工具外挂 | Rust/Go/Python 安装到 /root,自动检测 PATH |
|
||
| 项目隔离 | 每个项目独立容器、独立端口、独立网络 |
|
||
| 会话管理 | tmux session 支持 URL 参数 / 交互菜单 |
|
||
|
||
## 快速开始
|
||
|
||
```bash
|
||
# 1. 构建基础镜像
|
||
docker compose -f instances/base/docker-compose.yml build
|
||
|
||
# 2. 启动基础实例
|
||
docker compose -f instances/base/docker-compose.yml up -d
|
||
|
||
# 3. 打开 Web 终端
|
||
# http://localhost:7681 (用户: jc, 密码: 1234567)
|
||
|
||
# 或 SSH 连接
|
||
# ssh root@localhost -p 2222 (密码: workpod123)
|
||
```
|
||
|
||
## 目录结构
|
||
|
||
```
|
||
workpod/
|
||
├── Dockerfile # 基础镜像构建
|
||
├── entrypoint.sh # 统一入口脚本
|
||
├── ttyd-session.sh # tmux 会话管理
|
||
├── instances/ # ★ 实例配置(每个项目一个目录)
|
||
│ ├── registry.yaml # 全局实例注册表
|
||
│ ├── base/ # 基础实例
|
||
│ ├── flux/ # Flux 项目实例
|
||
│ └── .template/ # 新建实例模板
|
||
├── docs/ # 文档体系
|
||
└── data/ # 运行时数据
|
||
```
|
||
|
||
## 文档索引
|
||
|
||
| 文档 | 位置 | 说明 |
|
||
|------|------|------|
|
||
| 实例管理指南 | `instances/README.md` | 端口规则、新建流程 |
|
||
| 实例注册表 | `instances/registry.yaml` | 所有实例的端口/状态 |
|
||
| 端口分配规则 | `docs/00-规范/端口分配规则.md` | 详细端口规划 |
|
||
| 实例创建流程 | `docs/00-规范/实例创建流程.md` | 步骤教程 |
|
||
| 架构设计 | `docs/01-架构/` | C4 图 + 组件关系 |
|
||
| 问题记录 | `docs/02-技术文档/ISSUES.md` | 历史问题与解决方案 |
|
||
| 部署指南 | `docs/03-运维/` | 本机 + 测试服部署 |
|
||
| 测试服实例 | `docs/03-运维/测试服实例.md` | 远程实例配置 |
|
||
| 审核报告 | `docs/04-审核/` | 安全/架构/Docker/Shell 审核 |
|
||
|
||
## 相关链接
|
||
|
||
- 基础镜像:`workpod-alpine:latest`(基于 alpine:3.23)
|
||
- AI 工具:Claude Code (@anthropic-ai/claude-code)
|
||
- Web 终端:ttyd (Alpine apk)
|
||
- 会话管理:tmux + ttyd-session.sh
|