
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!Authelia
Buildkite Agent 是一款轻量、可靠的跨平台构建运行器,可轻松在自有基础设施上运行自动化构建任务。其主要职责包括:轮询 buildkite.com 获取任务、执行构建作业、报告作业状态码和输出日志,以及上传作业制品。
本自定义镜像基于 docker:dind 构建,提供 Docker-in-Docker (DinD) 功能,结合 Buildkite 支持 Authelia 持续集成 (CI) 流程中的自动化集成测试。当基础镜像 docker:dind 更新时,本镜像会自动重建。
本镜像采用 LinuxServer.io 团队开发的 https://github.com/linuxserver/docker-baseimage-alpine/%EF%BC%8C%E5%9C%A8%E6%AD%A4%E8%87%B4%E8%B0%A2%E3%80%82
docker:dind,允许在容器内运行 Docker 命令,满足构建过程中嵌套容器需求。docker:dind 更新时自动触发本镜像重建,确保底层依赖安全性。Docker 命令行部署
bashdocker create \ --name=buildkite1 \ -e BUILDKITE_AGENT_NAME=命名节点1 \ # 构建节点名称 -e BUILDKITE_AGENT_TOKEN=你的令牌 \ # Buildkite Agent 令牌 -e BUILDKITE_AGENT_TAGS=标签=值,更多标签=值 \ # 节点标签(逗号分隔) -e BUILDKITE_AGENT_PRIORITY=优先级 \ # 节点优先级 -e PUID=1000 \ # 用户ID(避免权限问题) -e PGID=1000 \ # 组ID(避免权限问题) -e TZ=Australia/Melbourne \ # 时区设置 -v <数据路径>/ssh:/buildkite/.ssh \ # SSH密钥目录(用于Git克隆) -v <数据路径>/cache:/buildkite/.cache \ # 构建缓存目录(共享Go、Lint缓存) -v <数据路径>/go:/buildkite/.go \ # Go依赖目录($GOPATH) -v <数据路径>/pnpm-store:/buildkite/.local/share/pnpm/store \ # pnpm缓存目录 -v <数据路径>/hooks:/buildkite/hooks \ # 自定义钩子目录(如环境变量注入) --restart unless-stopped \ # 非停止状态下自动重启 --privileged \ # 需特权模式以支持DinD authelia/buildkite
Docker Compose 部署
兼容 Docker Compose v2 架构。示例包含一个节点,可扩展为多节点配置(项目仓库中提供含三节点和本地 registry 缓存的完整示例)。
yaml--- version: "2.1" services: buildkite1: image: authelia/buildkite container_name: buildkite1 privileged: true # 启用特权模式 volumes: - <数据路径>/ssh:/buildkite/.ssh # SSH密钥目录 - <数据路径>/cache:/buildkite/.cache # 构建缓存目录 - <数据路径>/go:/buildkite/.go # Go依赖目录 - <数据路径>/pnpm-store:/buildkite/.local/share/pnpm/store # pnpm缓存目录 - <数据路径>/hooks:/buildkite/hooks # 自定义钩子目录 restart: unless-stopped # 自动重启策略 environment: - BUILDKITE_AGENT_NAME=命名节点1 # 节点名称 - BUILDKITE_AGENT_TOKEN=你的令牌 # Agent令牌 - BUILDKITE_AGENT_TAGS=标签=值,更多标签=值 # 节点标签 - BUILDKITE_AGENT_PRIORITY=优先级 # 节点优先级 - PUID=1000 # 用户ID - PGID=1000 # 组ID - TZ=Australia/Melbourne # 时区
| 参数 | 功能说明 |
|---|---|
-e BUILDKITE_AGENT_NAME=命名节点1 | Agent 名称,用于标识构建节点 |
-e BUILDKITE_AGENT_TOKEN=你的令牌 | Agent 令牌,Buildkite 项目的认证令牌 |
-e BUILDKITE_AGENT_TAGS=标签=值,更多标签=值 | 节点标签,格式为 键=值,逗号分隔,用于任务调度匹配 |
-e BUILDKITE_AGENT_PRIORITY=优先级 | 节点优先级,数值越高优先级越高 |
-e PUID=1000 | 用户 ID,用于解决主机与容器间文件权限冲突(可通过 id 用户名 命令获取当前用户 UID) |
-e PGID=1000 | 组 ID,同上(获取当前用户 GID) |
-e TZ=Australia/Melbourne | 时区设置,如 Asia/Shanghai(中国标准时间) |
-v /buildkite/.ssh | SSH 密钥目录,存放 id_rsa 和 id_rsa.pub,用于 Git 仓库克隆 |
-v /buildkite/.cache | 构建缓存目录,共享 Go 构建缓存、golangci-lint 缓存等 |
-v /buildkite/.go | Go 工作目录($GOPATH),共享依赖以加速构建 |
-v /buildkite/.local/share/pnpm/store | pnpm 存储目录,共享 Node.js 依赖缓存 |
-v /buildkite/hooks | Agent 钩子目录,如 environment 钩子可注入密钥(如 DOCKER_USERNAME、GITHUB_TOKEN) |
使用 -v 挂载卷时,主机与容器的用户/组 ID 可能不一致,导致权限错误。通过 PUID 和 PGID 指定与主机一致的 ID,可避免此问题。
获取当前用户 ID:
bashid 用户名 # 示例输出:uid=1000(用户) gid=1000(组) 组=1000(组)
将输出的 uid 和 gid 分别作为 PUID 和 PGID 的值。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务