国内访问 dl-cdn.alpinelinux.org 经常超时,导致 apk add python3/nodejs 失败 ('temporary error' / 'no such package')。在基础镜像里用 sed 把 apk repositories 指向 mirrors.tuna.tsinghua.edu.cn,python/node 镜像 FROM base 自动继承,无需重复修改。
13 lines
570 B
Docker
13 lines
570 B
Docker
# 代码运行器的共享基础镜像。
|
|
# 仅创建非 root 用户 1000:1000 与 /code 工作目录;具体语言镜像在此基础上安装运行时。
|
|
# 与 src/infra/docker.rs 的 user: "1000:1000"、working_dir: "/code" 对齐。
|
|
FROM alpine:3.18
|
|
|
|
# 替换为国内镜像源,避免 apk 拉取 dl-cdn.alpinelinux.org 失败。
|
|
RUN sed -i 's|dl-cdn.alpinelinux.org|mirrors.tuna.tsinghua.edu.cn|g' /etc/apk/repositories \
|
|
&& addgroup -S runner && adduser -S runner -G runner -u 1000 \
|
|
&& mkdir -p /code \
|
|
&& chown -R runner:runner /code
|
|
|
|
WORKDIR /code
|