- Dockerfile: Ubuntu + Python + Node + Go + Rust + MySQL + Redis - 离线安装包下载脚本(国内镜像源) - 技术规格说明书 SPECS.md - 代码审查报告 REVIEW-REPORT.md
139 lines
2.5 KiB
Markdown
139 lines
2.5 KiB
Markdown
# 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
|
|
```
|