本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Jenkins Infra 一体化代理镜像是 Jenkins 基础设施(Jenkins Infra)的官方代理镜像,旨在简化 Jenkins 环境中代理节点的配置与管理。作为“一体化”(All-in-one)镜像,它集成了 Jenkins 代理运行所需的常用工具、依赖库及协议支持,可直接作为 Jenkins 控制器的代理节点,用于执行 CI/CD 任务、构建流程及自动化操作,减少用户手动配置代理环境的复杂度。
作为 Jenkins 控制器的工作节点,执行 CI/CD 流水线任务(代码拉取、构建、测试、部署等)。
在本地或测试环境中快速启动 Jenkins 代理,验证流水线配置或工具兼容性。
适用于需要多种工具协同的构建任务(如 Java 项目编译 + Docker 镜像打包 + 推送仓库)。
在 Jenkins 官方基础设施或企业级 Jenkins 集群中,作为标准化代理节点使用,确保环境一致性。
用于临时执行一次性任务(如数据备份、日志收集、批量脚本运行),任务结束后销毁节点。
从 Docker Hub 或 Jenkins Infra 镜像仓库拉取最新版本:
docker pull jenkins-infra/all-in-one-agent:latest
如需指定版本,可替换 latest 为具体版本号(如 v1.2.3)。
docker run 运行代理节点通过 JNLP 协议连接 Jenkins 控制器(需提前在 Jenkins 控制器中创建代理节点并获取连接参数):
docker run -d \ --name jenkins-agent \ -e JENKINS_URL="[***]" \ # Jenkins 控制器 URL -e AGENT_NAME="my-agent" \ # 代理节点名称(需与 Jenkins 控制器中配置一致) -e AGENT_SECRET="agent-secret-from-jenkins" \ # 代理连接密钥(从 Jenkins 控制器获取) -e PROTOCOL="jnlp" \ # 连接协议(jnlp/ssh,默认 jnlp) -v /var/run/docker.sock:/var/run/docker.sock \ # 如需使用 Docker 命令,挂载 Docker 套接字(可选) jenkins-infra/all-in-one-agent:latest
通过 SSH 协议连接 Jenkins 控制器(需在 Jenkins 控制器中配置 SSH 凭证):
docker run -d \ --name jenkins-agent-ssh \ -e JENKINS_URL="[***]" \ -e AGENT_NAME="ssh-agent" \ -e PROTOCOL="ssh" \ -e SSH_USER="jenkins" \ # SSH 用户名(需与 Jenkins 控制器中配置一致) -e SSH_PUB_KEY="ssh-rsa AAAAB3NzaC1yc2EAAA..." \ # SSH 公钥(用于 Jenkins 控制器认证) -p 2222:22 \ # 映射 SSH 端口(宿主机端口:容器端口) jenkins-infra/all-in-one-agent:latest
docker-compose 配置创建 docker-compose.yml 文件,定义代理节点服务:
version: "3.8" services: jenkins-agent: image: jenkins-infra/all-in-one-agent:latest container_name: jenkins-agent environment: - JENKINS_URL=[***] # Jenkins 控制器 URL - AGENT_NAME=compose-agent # 代理节点名称 - AGENT_SECRET=agent-secret-from-jenkins # 代理连接密钥 - PROTOCOL=jnlp # 连接协议 - TOOLS_PATH=/opt/tools # 工具安装路径(可选,默认 /usr/local/bin) volumes: - agent-workdir:/home/jenkins/workspace # 挂载工作目录,持久化任务数据 - /var/run/docker.sock:/var/run/docker.sock # 可选:挂载 Docker 套接字 restart: unless-stopped volumes: agent-workdir: # 定义工作目录卷
启动服务:
docker-compose up -d
| 环境变量名 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|
JENKINS_URL | Jenkins 控制器的访问 URL(如 [***] 或 [***]) | - | 是 |
AGENT_NAME | 代理节点名称(需与 Jenkins 控制器中创建的节点名称一致) | default-agent | 是 |
AGENT_SECRET | JNLP 协议连接时的代理密钥(从 Jenkins 控制器节点配置页面获取) | - | 是(JNLP 协议) |
PROTOCOL | 代理连接协议,可选值:jnlp(默认)、ssh | jnlp | 否 |
SSH_USER | SSH 协议的登录用户名 | jenkins | 否(SSH 协议) |
SSH_PUB_KEY | SSH 协议的公钥(需添加到 Jenkins 控制器的凭证中) | - | 是(SSH 协议) |
WORKDIR | 代理节点的工作目录 | /home/jenkins/workspace | 否 |
TOOLS_PATH | 工具安装路径(影响 PATH 环境变量) | /usr/local/bin | 否 |
DEBUG | 是否开启调试模式(输出详细连接日志),可选值:true、false | false | 否 |
如需修改内置工具版本(如 Java、Maven),可通过构建参数自定义镜像:
docker build \ --build-arg JAVA_VERSION=17 \ --build-arg MAVEN_VERSION=3.9.6 \ -t my-custom-agent:latest \ [***]
网络连通性:确保代理容器与 Jenkins 控制器之间网络可达(JNLP 协议默认使用端口 50000,SSH 协议默认使用端口 22)。
权限管理:
/var/run/docker.sock)时需注意安全风险,避免容器内非授权操作宿主机 Docker。--user 参数指定 UID/GID。资源限制:根据任务需求通过 --memory、--cpus 限制容器资源,避免资源耗尽。
持久化数据:建议将工作目录(WORKDIR)挂载为 Docker 卷,避免任务数据因容器重启丢失。
免费版仅支持 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