本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像提供了一个轻量级、可配置的 GitHub Actions 自托管运行器环境。它基于官方 GitHub Actions Runner 应用程序构建,旨在简化自托管运行器的部署和管理流程,使用户能够轻松地在容器化环境中运行 GitHub Actions 工作流。
docker run 命令docker run -d \ --name github-runner \ -e GITHUB_REPOSITORY=<owner>/<repo> \ -e GITHUB_TOKEN=<your-personal-access-token> \ nitra/actions-runner
version: '3.8' services: runner: image: nitra/actions-runner container_name: github-runner environment: - GITHUB_REPOSITORY=<owner>/<repo> - GITHUB_TOKEN=<your-personal-access-token> - RUNNER_NAME=my-docker-runner - RUNNER_LABELS=docker,linux,x64 restart: unless-stopped
| 环境变量 | 描述 | 必需 | 默认值 |
|---|---|---|---|
GITHUB_REPOSITORY | 要连接的仓库,格式为 owner/repo | 是 | 无 |
GITHUB_ORGANIZATION | 要连接的组织,与 GITHUB_REPOSITORY 二选一 | 否 | 无 |
GITHUB_ENTERPRISE_URL | GitHub Enterprise 实例 URL | 否 | [***] |
GITHUB_TOKEN | 用于注册 runner 的个人访问令牌 | 是 | 无 |
RUNNER_NAME | Runner 的名称 | 否 | 容器 ID |
RUNNER_LABELS | 以逗号分隔的 runner 标签 | 否 | docker,actions-runner |
RUNNER_GROUP | 要加入的 runner 组 | 否 | Default |
RUNNER_WORKDIR | 工作目录路径 | 否 | /home/runner/_work |
RUNNER_TOKEN_FILE | 包含 runner 令牌的文件路径 | 否 | 无 |
UPDATE_RUNNER | 是否自动更新 runner | 否 | true |
DOCKER_ENABLED | 是否启用 Docker-in-Docker | 否 | false |
USER_UID | 运行 runner 的用户 UID | 否 | 1000 |
USER_GID | 运行 runner 的用户 GID | 否 | 1000 |
要启用 Docker-in-Docker 模式,需要添加相应的挂载和特权设置:
docker run -d \ --name github-runner-dind \ --privileged \ -e GITHUB_REPOSITORY=<owner>/<repo> \ -e GITHUB_TOKEN=<your-personal-access-token> \ -e DOCKER_ENABLED=true \ -v /var/lib/docker \ nitra/actions-runner
要注册为组织级 runner,使用 GITHUB_ORGANIZATION 而非 GITHUB_REPOSITORY:
docker run -d \ --name github-org-runner \ -e GITHUB_ORGANIZATION=<your-organization> \ -e GITHUB_TOKEN=<your-personal-access-token> \ nitra/actions-runner
对于 GitHub Enterprise 实例,指定企业 URL:
docker run -d \ --name github-enterprise-runner \ -e GITHUB_REPOSITORY=<owner>/<repo> \ -e GITHUB_TOKEN=<your-personal-access-token> \ -e GITHUB_ENTERPRISE_URL=[***] \ nitra/actions-runner
docker run -d \ --name github-runner-custom-workdir \ -e GITHUB_REPOSITORY=<owner>/<repo> \ -e GITHUB_TOKEN=<your-personal-access-token> \ -e RUNNER_WORKDIR=/home/runner/custom-workdir \ -v /path/on/host:/home/runner/custom-workdir \ nitra/actions-runner
为了在容器重启后保留 runner 配置和工作目录数据,可以挂载外部卷:
docker run -d \ --name github-runner-persistent \ -e GITHUB_REPOSITORY=<owner>/<repo> \ -e GITHUB_TOKEN=<your-personal-access-token> \ -v runner-config:/home/runner/.runner \ -v runner-workdir:/home/runner/_work \ nitra/actions-runner
docker run -d \ --name github-runner-custom-user \ -e GITHUB_REPOSITORY=<owner>/<repo> \ -e GITHUB_TOKEN=<your-personal-access-token> \ -e USER_UID=1001 \ -e USER_GID=1001 \ nitra/actions-runner
apiVersion: apps/v1 kind: Deployment metadata: name: github-runner namespace: ci spec: replicas: 3 selector: matchLabels: app: github-runner template: metadata: labels: app: github-runner spec: containers: - name: github-runner image: nitra/actions-runner env: - name: GITHUB_ORGANIZATION value: "my-organization" - name: GITHUB_TOKEN valueFrom: secretKeyRef: name: github-runner-secrets key: github-token - name: RUNNER_LABELS value: "kubernetes,linux,x64" volumeMounts: - name: runner-workdir mountPath: /home/runner/_work volumes: - name: runner-workdir emptyDir: {}
Runner 无法注册:检查 GITHUB_TOKEN 是否具有足够的权限,个人访问令牌需要 repo 范围(对于仓库 runner)或 admin:org 范围(对于组织 runner)。
Docker 命令在工作流中失败:确保已启用 DinD 模式并正确配置了特权访问。
Runner 连接不稳定:检查网络连接和防火墙设置,确保 runner 可以访问 api.github.com 和相关域名。
权限问题:尝试调整 USER_UID 和 USER_GID 环境变量,确保与挂载卷的权限匹配。
docker logs -f github-runner
docker pull nitra/actions-runner docker stop github-runner docker rm github-runner # 重新运行容器,使用上述 docker run 命令
默认情况下,runner 会自动更新。如需禁用自动更新,设置环境变量 UPDATE_RUNNER=false。
GITHUB_TOKEN 安全存储,避免硬编码在配置文件中本项目基于 MIT 许可证开源。详细信息请参见项目仓库中的 LICENSE 文件。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429