Skip to content

Commit 99eadb3

Browse files
committed
chore: use GID 1001
1 parent 3200d3f commit 99eadb3

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

Dockerfile

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,15 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1414
&& rm -rf /var/lib/apt/lists/*
1515

1616
# 使用非 root 用户运行,避免 GitHub Actions Runner 报 "Must not run with sudo"
17-
# UID/GID 1000 与常见宿主机首用户一致,挂载 runners 卷时权限更易匹配
18-
# 基础镜像可能已有 GID 1000,先尝试创建组,失败则复用已有组
19-
RUN (groupadd -g 1000 app 2>/dev/null || true) && useradd -r -u 1000 -g 1000 -d /app -s /bin/bash app
17+
# UID/GID 1001 挂载 runners 卷时可按需 chown
18+
RUN groupadd -g 1001 app && useradd -r -u 1001 -g app -d /app -s /bin/bash app
2019

2120
WORKDIR /app
2221
COPY --from=builder /app/runner-manager .
2322
COPY --from=builder /app/config.yaml ./config.yaml
2423
RUN mkdir -p /app/scripts /app/runners
2524
COPY scripts/install-runner.sh /app/scripts/install-runner.sh
26-
RUN chmod +x /app/scripts/install-runner.sh && chown -R 1000:1000 /app
25+
RUN chmod +x /app/scripts/install-runner.sh && chown -R app:app /app
2726

2827
USER app
2928
EXPOSE 8080

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 基于 docs/docker.md 中「方式二:DinD」编排
22
# 使用前请确保 config.yaml 中 runners.base_path 为 /app/runners
3-
# 镜像以 UID 1000 运行,宿主机上请保证 ./runners 对该用户可写,例如:mkdir -p runners && chown 1000:1000 runners
3+
# 镜像以 UID 1001 运行,宿主机上请保证 ./runners 对该用户可写,例如:mkdir -p runners && chown 1001:1001 runners
44

55
services:
66
runner-dind:
@@ -26,7 +26,7 @@ services:
2626
- "8080:8080"
2727
volumes:
2828
- ./config.yaml:/app/config.yaml
29-
- ./runners:/app/runners # 需对 UID 1000 可写,见顶部注释
29+
- ./runners:/app/runners # 需对 UID 1001 可写,见顶部注释
3030
networks:
3131
- runner-net
3232
restart: unless-stopped

docs/docker.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Docker 部署
22

33
- **基础镜像**:运行时使用 **Ubuntu**(非 Alpine),避免 GitHub Runner 在 Alpine 下运行异常。
4-
- **非 root 运行**:镜像内以 UID 1000(用户 `app`)运行,避免 GitHub Actions Runner 报错「Must not run with sudo」。挂载 `runners` 目录时,请确保宿主机上该目录对 UID 1000 可写(常见做法:`mkdir runners && chown 1000:1000 runners`);若你自定义为 root 运行容器,需设置环境变量 `RUNNER_ALLOW_RUNASROOT=1`
4+
- **非 root 运行**:镜像内以 UID 1001(用户 `app`)运行,避免 GitHub Actions Runner 报错「Must not run with sudo」。挂载 `runners` 目录时,请确保宿主机上该目录对 UID 1001 可写(常见做法:`mkdir runners && chown 1001:1001 runners`);若你自定义为 root 运行容器,需设置环境变量 `RUNNER_ALLOW_RUNASROOT=1`
55
- **自动拉起 Runner**:服务启动约 15 秒后会自动启动所有「已注册但未在运行」的 Runner;定时任务每 5 分钟也会再次检查并拉起未运行的已注册 Runner,便于 DinD 或管理器重启后恢复。
66

77
## 使用已发布镜像(推荐)
@@ -29,7 +29,7 @@ docker run -d --name runner-manager \
2929

3030
- **`-p 8080:8080`**:宿主机端口映射,保证能从本机访问管理界面。
3131
- **`-v $(pwd)/config.yaml:/app/config.yaml`**:挂载配置文件,修改后重启容器即可生效;不挂载则使用镜像内默认配置,无法持久化。
32-
- **`-v $(pwd)/runners:/app/runners`**:挂载 Runner 安装目录,Runner 二进制与注册信息都保存在此;不挂载则容器删除后所有 Runner 丢失。镜像以 UID 1000 运行,宿主机上请保证该目录对 UID 1000 可写(例如 `chown 1000:1000 runners`)。若需界面「GitHub 显示」状态检查,请在各自 runner 子目录(如 `runners/xxx/`)下放置 `.github_check_token` 文件。
32+
- **`-v $(pwd)/runners:/app/runners`**:挂载 Runner 安装目录,Runner 二进制与注册信息都保存在此;不挂载则容器删除后所有 Runner 丢失。镜像以 UID 1001 运行,宿主机上请保证该目录对 UID 1001 可写(例如 `chown 1001:1001 runners`)。若需界面「GitHub 显示」状态检查,请在各自 runner 子目录(如 `runners/xxx/`)下放置 `.github_check_token` 文件。
3333
- 镜像内工作目录为 `/app``-config` 默认为 `/app/config.yaml``config.yaml``runners.base_path` 需为 `/app/runners`(或与挂载路径一致)。
3434

3535
### 前台调试(带 -it)

0 commit comments

Comments
 (0)