本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
CircleCI Runner (Machine Mode) 镜像是用于在自托管环境中以机器模式运行 CircleCI 作业的 Docker 镜像。该模式允许作业直接运行在宿主系统的底层环境中(而非容器隔离环境),支持直接访问系统资源、硬件设备及原生系统依赖,适用于需要突破容器隔离限制的 CI/CD 场景。
该镜像通常通过 CircleCI 官方渠道分发,或通过私有仓库获取。拉取命令示例:
docker pull circleci/runner:machine-mode-latest
通过 docker run 启动 Runner 容器,核心参数需包含 Runner 令牌、名称及资源类信息:
docker run -d \ --name circleci-runner-machine \ --privileged \ # 机器模式需特权模式以访问宿主系统资源 -e CIRCLECI_RUNNER_TOKEN="your_runner_token" \ # 替换为实际 Runner 令牌 -e RUNNER_NAME="my-machine-runner-01" \ # 自定义 Runner 名称(需唯一) -e RESOURCE_CLASS="your-org/machine-medium" \ # 替换为 CircleCI 资源类名称 -e RUNNER_MODE="machine" \ # 指定为机器模式 -v /var/run/docker.sock:/var/run/docker.sock \ # 可选:如需在作业中使用 Docker circleci/runner:machine-mode-latest
说明:
--privileged标志为机器模式必需,用于解除容器对系统资源的访问限制。
| 环境变量名 | 描述 | 是否必填 | 示例值 |
|---|---|---|---|
CIRCLECI_RUNNER_TOKEN | CircleCI Runner 注册令牌,用于认证 Runner 与平台的连接 | 是 | runner-token-abc123... |
RUNNER_NAME | Runner 实例名称,需在组织内唯一,用于识别和管理 | 是 | machine-runner-01 |
RESOURCE_CLASS | CircleCI 资源类名称,格式为 组织名/资源类名,需提前在平台创建 | 是 | my-org/machine-highcpu |
RUNNER_MODE | 运行模式,固定为 machine | 是 | machine |
RUNNER_LABELS | 自定义标签,用于作业调度过滤(逗号分隔) | 否 | gpu,ubuntu2204,x86_64 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | 否 | info |
CIRCLECI_API_URL | CircleCI API 端点(默认:[***]) | 否 | [***] |
通过 Docker Compose 管理 Runner 容器,便于持久化配置和服务编排:
# docker-compose.yml version: '3.8' services: circleci-runner: image: circleci/runner:machine-mode-latest container_name: circleci-machine-runner restart: always # 容器退出时自动重启 privileged: true environment: - CIRCLECI_RUNNER_TOKEN=your_runner_token # 替换为实际令牌 - RUNNER_NAME=machine-runner-prod-01 - RESOURCE_CLASS=my-org/prod-machine - RUNNER_MODE=machine - RUNNER_LABELS=gpu,nvidia,ubuntu2204 - LOG_LEVEL=info volumes: - /var/run/docker.sock:/var/run/docker.sock # 允许作业内使用 Docker - ./runner-config:/etc/circleci-runner # 挂载自定义配置文件(可选) deploy: resources: limits: cpus: '8' # 限制 CPU 核心数 memory: 16G # 限制内存使用
启动命令:
docker-compose up -d
通过 Docker 原生参数限制 Runner 容器的资源使用,避免影响宿主系统:
docker run -d \ --name circleci-runner-machine \ --privileged \ --cpus 4 \ # 限制使用 4 核 CPU --memory 8G \ # 限制使用 8GB 内存 -e CIRCLECI_RUNNER_TOKEN="your_token" \ ... # 其他参数 circleci/runner:machine-mode-latest
将 Runner 配置文件(如 runner-config.yaml)挂载到容器内,实现自定义配置持久化:
docker run -d \ ... -v /host/path/to/runner-config.yaml:/etc/circleci-runner/runner-config.yaml \ ...
指定自定义网络或端口映射(如需外部监控 Runner 状态):
docker run -d \ ... --network custom-network \ # 加入自定义 Docker 网络 -p 9000:9000 \ # 映射监控端口(如 Runner 内置监控接口) ...
Runner 启动后,可通过以下方式验证是否正常连接 CircleCI 平台:
docker logs circleci-runner-machine,出现 Runner registered successfully 表示注册成功Activeresource_class: your-org/machine-medium 的 CircleCI 作业,验证作业是否被该 Runner 接收并执行免费版仅支持 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