新增: WorkPod 全栈开发环境容器
- Dockerfile: Ubuntu + Python + Node + Go + Rust + MySQL + Redis - 离线安装包下载脚本(国内镜像源) - 技术规格说明书 SPECS.md - 代码审查报告 REVIEW-REPORT.md
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
# WorkPod 开发环境容器
|
||||
|
||||
全栈开发环境,包含 Ubuntu + Python + Go + Rust + Node + MySQL + Redis + Claude Code + OpenClaw
|
||||
|
||||
## 快速开始
|
||||
|
||||
```bash
|
||||
# 构建镜像
|
||||
cd E:/wk-lab/workpod
|
||||
docker build -t workpod:latest .
|
||||
|
||||
# 启动容器
|
||||
docker-compose up -d
|
||||
|
||||
# 查看日志
|
||||
docker logs -f workpod
|
||||
|
||||
# 进入容器
|
||||
docker exec -it workpod bash
|
||||
```
|
||||
|
||||
## SSH 连接
|
||||
|
||||
```bash
|
||||
ssh root@localhost -p 2222
|
||||
# 密码: workpod123
|
||||
```
|
||||
|
||||
## 端口映射
|
||||
|
||||
| 服务 | 宿主机端口 | 容器端口 |
|
||||
|------|-----------|---------|
|
||||
| SSH | 2222 | 22 |
|
||||
| HTTP | 8080 | 80 |
|
||||
| HTTPS | 8443 | 443 |
|
||||
| MySQL | 13306 | 3306 |
|
||||
| Redis | 16379 | 6379 |
|
||||
|
||||
## 启动数据库服务
|
||||
|
||||
```bash
|
||||
# MySQL
|
||||
docker exec workpod bash -c "mysqld --user=mysql --datadir=/var/lib/mysql &"
|
||||
|
||||
# Redis
|
||||
docker exec workpod redis-server --daemonize yes
|
||||
```
|
||||
|
||||
## 已安装工具
|
||||
|
||||
| 工具 | 版本 | 说明 |
|
||||
|------|------|------|
|
||||
| Python | 3.10 | pip, venv |
|
||||
| Node.js | 24.14.0 | npm, pnpm, yarn |
|
||||
| Go | 1.26.1 | |
|
||||
| Rust | 1.94.0 | cargo |
|
||||
| MySQL | 8.0 | 手动启动 |
|
||||
| Redis | 6.0 | 手动启动 |
|
||||
| Claude Code | 2.1.79 | AI 编程工具 |
|
||||
| OpenClaw | 2026.3.13 | AI 网关 |
|
||||
|
||||
## 镜像导出/导入
|
||||
|
||||
### 导出镜像
|
||||
|
||||
```bash
|
||||
# 导出为 tar 文件
|
||||
docker save workpod:latest | gzip > workpod.tar.gz
|
||||
|
||||
# 或不压缩
|
||||
docker save workpod:latest -o workpod.tar
|
||||
```
|
||||
|
||||
### 导入镜像
|
||||
|
||||
```bash
|
||||
# 从 tar.gz 导入
|
||||
docker load < workpod.tar.gz
|
||||
|
||||
# 或从 tar 导入
|
||||
docker load -i workpod.tar
|
||||
```
|
||||
|
||||
### 迁移到服务器
|
||||
|
||||
```bash
|
||||
# 1. 本机导出
|
||||
docker save workpod:latest | gzip > workpod.tar.gz
|
||||
|
||||
# 2. 传输到服务器
|
||||
scp workpod.tar.gz user@server:/path/
|
||||
|
||||
# 3. 服务器导入
|
||||
ssh user@server
|
||||
docker load < /path/workpod.tar.gz
|
||||
|
||||
# 4. 复制 docker-compose.yml 到服务器并启动
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 数据持久化
|
||||
|
||||
数据存储在 `E:/docker-data/workpod/` 目录:
|
||||
- `mysql/` - MySQL 数据
|
||||
- `redis/` - Redis 数据
|
||||
- `workspace/` - 工作空间
|
||||
|
||||
## 配置文件
|
||||
|
||||
```
|
||||
E:/wk-lab/workpod/
|
||||
├── Dockerfile # 镜像构建配置
|
||||
├── docker-compose.yml # 容器编排配置
|
||||
├── entrypoint.sh # 入口脚本
|
||||
├── download-packages.ps1 # 软件包下载脚本
|
||||
├── PACKAGES.md # 软件包清单
|
||||
├── SPECS.md # 技术规格说明书
|
||||
└── README.md # 说明文档
|
||||
```
|
||||
|
||||
## 常用命令
|
||||
|
||||
```bash
|
||||
# 停止容器
|
||||
docker-compose down
|
||||
|
||||
# 重启容器
|
||||
docker-compose restart
|
||||
|
||||
# 查看容器状态
|
||||
docker ps --filter name=workpod
|
||||
|
||||
# 进入容器执行命令
|
||||
docker exec -it workpod bash
|
||||
|
||||
# 查看容器资源使用
|
||||
docker stats workpod
|
||||
```
|
||||
Reference in New Issue
Block a user