2.5 KiB
2.5 KiB
实例创建流程
为新项目创建 WorkPod 开发容器的标准步骤。
前置条件
- Docker 已安装并运行
- 基础镜像已构建:
docker images \| grep workpod-alpine
标准流程(3 步)
Step 1: 创建实例目录
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: 下添加新条目:
- 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
启动:
cd instances/{name} && docker compose up -d --build
验证:
docker ps --filter name=ws-{name}
# 应看到端口映射正确
更新状态:registry.yaml 中 status: starting → running
可选:自定义镜像
如果项目需要额外工具(如 JDK),创建 instances/{name}/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 配置:
build:
context: ../../
dockerfile: instances/{name}/Dockerfile
image: ws-{name}-dev:latest
完整示例:创建 suke 实例
# 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 可访问