xfy 9851f98dc0 chore(docker): setup sandboxed runtime containers and build script
- runner-base: alpine 3.18 + 非 root 用户 1000:1000 + /code 工作目录
- runner-python: 基于 base, apk add python3 + python 符号链接(对齐 run_cmd 'python')
- runner-node: 基于 base, apk add nodejs
- runner.toml: 镜像自描述(运行时实际配置由 Rust LANGUAGES 注册表 + 环境变量决定)
- build-runners.sh: 按 base→python→node 顺序构建, tag 与 languages.rs 严格对齐
2026-07-03 18:48:03 +08:00

11 lines
394 B
Docker

# 代码运行器的共享基础镜像。
# 仅创建非 root 用户 1000:1000 与 /code 工作目录;具体语言镜像在此基础上安装运行时。
# 与 src/infra/docker.rs 的 user: "1000:1000"、working_dir: "/code" 对齐。
FROM alpine:3.18
RUN addgroup -S runner && adduser -S runner -G runner -u 1000 \
&& mkdir -p /code \
&& chown -R runner:runner /code
WORKDIR /code