!Authelia
 功能,结合 Buildkite 支持 Authelia 持续集成 (CI) 流程中的自动化集成测试。当基础镜像 docker:dind 更新时,本镜像会自动重建。
本镜像采用 LinuxServer.io 团队开发的 Alpine 基础镜像,在此致谢。
docker:dind,允许在容器内运行 Docker 命令,满足构建过程中嵌套容器需求。docker:dind 更新时自动触发本镜像重建,确保底层依赖安全性。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 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 的值。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429