v1.1.0: Alpine 轻量级 Docker 开发环境 + 敏感凭证清理
This commit is contained in:
@@ -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 可访问
|
||||
```
|
||||
Reference in New Issue
Block a user