v1.1.0: Alpine 轻量级 Docker 开发环境 + 敏感凭证清理

This commit is contained in:
lxy
2026-07-27 13:59:18 +08:00
parent feb76081a0
commit ccca0fa62b
51 changed files with 6125 additions and 993 deletions
+118
View File
@@ -0,0 +1,118 @@
# 实例创建流程
> 为新项目创建 WorkPod 开发容器的标准步骤。
---
## 前置条件
- Docker 已安装并运行
- 基础镜像已构建:`docker images \| grep workpod-alpine`
---
## 标准流程(3 步)
### Step 1: 创建实例目录
```bash
cd E:/wk-lab/workpod
mkdir -p instances/{name}
cp instances/.template/docker-compose.yml instances/{name}/
```
### Step 2: 编辑 compose 文件
打开 `instances/{name}/docker-compose.yml`,修改占位符:
| 占位符 | 改为 | 示例 |
|--------|------|------|
| `{name}` | 实例名 | `suke` |
| `{SSH_PORT}` | SSH 端口 | `2211` |
| `{WEB_PORT}` | Web 端口 | `7711` |
| `{PROJECT_PATH}` | 项目路径 | `E:/wk-suke` |
按需取消注释:
- **Java 项目** → 取消注释 JDK/Maven volume 和 JAVA_HOME/MAVEN_HOME env
- **home 持久化** → 确保 `../../data/home/{name}:/root` 已配置
### Step 3: 注册并启动
编辑 `instances/registry.yaml`,在 `local:` 下添加新条目:
```yaml
- name: ws-{name}-dev
display: {中文名}
type: project
project: {name}
project_path: E:/wk-{name}
image: ws-{name}-dev:latest
ssh_port: {SSH_PORT}
web_port: {WEB_PORT}
network: workpod-{name}-network
status: starting
compose: instances/{name}/docker-compose.yml
```
启动:
```bash
cd instances/{name} && docker compose up -d --build
```
验证:
```bash
docker ps --filter name=ws-{name}
# 应看到端口映射正确
```
更新状态:`registry.yaml``status: starting``running`
---
## 可选:自定义镜像
如果项目需要额外工具(如 JDK),创建 `instances/{name}/Dockerfile`
```dockerfile
FROM workpod-alpine:latest
LABEL org.opencontainers.image.title="ws-{name}-dev" \
org.opencontainers.image.description="{描述}"
EXPOSE 22 7681
ENTRYPOINT ["/entrypoint.sh"]
```
compose 中添加 build 配置:
```yaml
build:
context: ../../
dockerfile: instances/{name}/Dockerfile
image: ws-{name}-dev:latest
```
---
## 完整示例:创建 suke 实例
```bash
# 1. 创建目录 + 复制模板
mkdir -p instances/suke
cp instances/.template/docker-compose.yml instances/suke/
# 2. 替换占位符(手动或 sed
# {name} → suke, {SSH_PORT} → 2211, {WEB_PORT} → 7711, {PROJECT_PATH} → E:/wk-suke
# 3. 注册到 registry.yaml(添加 local 条目)
# 4. 启动
cd instances/suke && docker compose up -d --build
# 5. 验证
docker ps --filter name=ws-suke
# curl -s http://localhost:7711 | head -5 # ttyd 可访问
```