如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
CircleCI Runner (Machine Mode) 镜像是用于在自托管环境中以机器模式运行 CircleCI 作业的 Docker 镜像。该模式允许作业直接运行在宿主系统的底层环境中(而非容器隔离环境),支持直接访问系统资源、硬件设备及原生系统依赖,适用于需要突破容器隔离限制的 CI/CD 场景。
该镜像通常通过 CircleCI 官方渠道分发,或通过私有仓库获取。拉取命令示例:
bashdocker pull circleci/runner:machine-mode-latest
通过 docker run 启动 Runner 容器,核心参数需包含 Runner 令牌、名称及资源类信息:
bashdocker 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 端点(默认:https://runner.circleci.com) | 否 | https://runner.circleci.com |
通过 Docker Compose 管理 Runner 容器,便于持久化配置和服务编排:
yaml# 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 # 限制内存使用
启动命令:
bashdocker-compose up -d
1. 资源限制
通过 Docker 原生参数限制 Runner 容器的资源使用,避免影响宿主系统:
bashdocker 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
2. 持久化 Runner 配置
将 Runner 配置文件(如 runner-config.yaml)挂载到容器内,实现自定义配置持久化:
bashdocker run -d \ ... -v /host/path/to/runner-config.yaml:/etc/circleci-runner/runner-config.yaml \ ...
3. 网络配置
指定自定义网络或端口映射(如需外部监控 Runner 状态):
bashdocker 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 接收并执行您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务