本镜像是基于***JetBrains TeamCity Agent镜像的定制版本,在保留原版Agent核心功能的基础上,预安装了多种常用构建工具、编程语言环境及系统工具,以扩展TeamCity的构建能力,满足复杂CI/CD场景需求。
作为TeamCity构建代理(Agent),连接TeamCity Server并执行构建任务。通过预安装的额外工具,支持多语言项目构建、容器化应用打包、自动化测试及复杂构建流程,减少构建环境配置时间,提升构建效率。
update-alternatives切换)假设镜像存储于私有仓库(如registry.example.com/teamcity-agent-custom:latest),或通过本地Dockerfile构建。拉取命令:
bashdocker pull registry.example.com/teamcity-agent-custom:latest
bashdocker run -d \ --name teamcity-agent-01 \ -v /opt/teamcity/agents/agent01/conf:/data/teamcity_agent/conf \ # Agent配置目录(持久化) -v /opt/teamcity/agents/agent01/work:/data/teamcity_agent/work \ # 工作空间(持久化构建产物) -e SERVER_URL="[***]" \ # TeamCity Server地址 -e AGENT_NAME="agent-01-custom" \ # 自定义Agent名称(可选,默认随机生成) -e AGENT_TOKEN="your-agent-token" \ # Agent注册令牌(从Server获取) -e DOCKER_HOST="unix:///var/run/docker.sock" \ # 若需使用Docker,挂载宿主机Docker守护进程 -v /var/run/docker.sock:/var/run/docker.sock \ # 共享宿主机Docker(可选,用于Docker in Docker) registry.example.com/teamcity-agent-custom:latest
创建docker-compose.yml,更便于管理Agent生命周期:
yamlversion: '3.8' services: teamcity-agent: image: registry.example.com/teamcity-agent-custom:latest container_name: teamcity-agent-01 restart: always volumes: - ./agent/conf:/data/teamcity_agent/conf # 本地目录挂载Agent配置 - ./agent/work:/data/teamcity_agent/work # 本地目录挂载工作空间 - /var/run/docker.sock:/var/run/docker.sock # 可选:启用Docker访问 environment: - SERVER_URL=[***] # TeamCity Server地址(需与Server网络互通) - AGENT_NAME=agent-01-custom - AGENT_TOKEN=your-agent-token # 从TeamCity Server > Agents > Pools > Create Agent获取 - WORK_DIR=/data/teamcity_agent/work # 工作空间路径(默认与挂载目录一致) networks: - teamcity-network # 确保与TeamCity Server在同一网络 networks: teamcity-network: external: true # 假设已存在与Server共享的网络
启动命令:
bashdocker-compose up -d
| 环境变量 | 用途 | 默认值 | 必须配置 |
|---|---|---|---|
SERVER_URL | TeamCity Server地址(含端口) | 无 | 是 |
AGENT_NAME | Agent显示名称(需唯一) | 随机生成(格式:agent-{随机字符串}) | 否 |
AGENT_TOKEN | Agent注册令牌(从Server获取) | 无 | 是(首次注册) |
WORK_DIR | 构建工作空间路径 | /data/teamcity_agent/work | 否 |
DOCKER_HOST | Docker守护进程地址(启用Docker时) | unix:///var/run/docker.sock | 否 |
AGENT_OPTS | Agent JVM参数(如内存配置) | -Xmx512m -Xms256m | 否 |
HTTP_PROXY | 代理服务器地址(如需外部网络访问) | 无 | 否 |
| 挂载路径 | 用途 | 建议权限 |
|---|---|---|
/data/teamcity_agent/conf | Agent配置文件(含与Server通信的密钥) | 读写 |
/data/teamcity_agent/work | 构建产物、临时文件存储 | 读写 |
/var/run/docker.sock | 宿主机Docker守护进程(如需Docker in Docker) | 只读 |
/root/.m2(可选) | Maven本地仓库(缓存依赖,加速构建) | 读写 |
/root/.npm(可选) | npm本地仓库(缓存依赖) | 读写 |
若需覆盖预安装工具版本,可通过环境变量指定路径,例如:
bash-e MAVEN_HOME="/opt/maven-custom" # 优先使用自定义Maven路径(需提前挂载工具目录)
通过docker run参数限制CPU/内存:
bash--cpus 2 --memory 4g # 限制2核CPU、4GB内存
SERVER_URL(建议与Server部署在同一网络,或通过端口映射暴露Server)tcagent,UID 1000)对目录有读写权限,可通过-u root临时调试(生产环境不建议)SERVER_URL是否正确(需包含http://或https://)、网络是否互通(可通过docker exec -it <agent-container> curl <server-url>测试)/var/run/docker.sock已挂载,且容器内用户有访问权限(可添加--group-add docker参数)docker exec -it <agent-container> <tool> --version检查预安装工具版本,或提交镜像更新需求来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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