本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
!official JetBrains project
这是官方JetBrains TeamCity构建代理镜像。
有关标签和组件的更多详情,请参见此处。
TeamCity 构建代理用于连接TeamCity服务器并生成实际构建进程。可使用jetbrains/teamcity-server镜像运行TeamCity服务器。如需了解如何一次性启动服务器和代理,请参见Docker Compose示例。
本镜像提供适用于Java开发的TeamCity代理,基于jetbrains/teamcity-minimal-agent扩展,具备更多优势,例如:
从Docker Hub拉取TeamCity代理镜像:
jetbrains/teamcity-agent
docker run -e SERVER_URL="<TeamCity服务器URL>" \ -v <代理配置目录路径>:/data/teamcity_agent/conf \ jetbrains/teamcity-agent
docker run -e SERVER_URL="<TeamCity服务器URL>" -v <代理配置目录路径>:C:/BuildAgent/conf jetbrains/teamcity-agent
其中,<TeamCity服务器URL>是代理可访问的服务器完整URL。注意:"localhost"通常不可用,因容器内的"localhost"指向容器自身。
SERVER_URL:代理连接的TeamCity服务器URL(必填)AGENT_NAME:(可选)代理在TeamCity UI中的名称,未设置则自动生成AGENT_TOKEN:(可选)代理授权令牌,未设置时需通过TeamCity UI授权OWN_ADDRESS:(可选,仅Linux)代理绑定的IP地址,自动检测OWN_PORT:(可选,仅Linux)代理绑定的端口,默认9090DOCKER_IN_DOCKER:(可选,仅Linux)启用容器内Docker服务重启代理容器后默认会重新检出构建源。如需避免此情况,需挂载以下目录以持久化代理状态:
-v /opt/buildagent/work:/opt/buildagent/work-v /opt/buildagent/system:/opt/buildagent/system除非通过docker.sock使用Docker Wrapper,否则可自定义主机上的路径前缀。
如需在构建中使用Docker守护进程,有两种方案:使用主机Docker(docker-out-of-docker)或在容器内启动Docker(docker-in-docker)。注意:两种方案均需信任构建任务,因构建可能获取主机root权限,详情参见OWASP Docker安全指南及TeamCity安全说明。
通过挂载主机Docker套接字实现,共享主机Docker缓存,但存在安全风险:
docker run -e SERVER_URL="<TeamCity服务器URL>" \ -u 0 \ -v <代理配置目录路径>:/data/teamcity_agent/conf \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /opt/buildagent/work:/opt/buildagent/work \ -v /opt/buildagent/temp:/opt/buildagent/temp \ -v /opt/buildagent/tools:/opt/buildagent/tools \ -v /opt/buildagent/plugins:/opt/buildagent/plugins \ -v /opt/buildagent/system:/opt/buildagent/system \ jetbrains/teamcity-agent
-v /opt/buildagent/*挂载是使用Docker Wrapper的必要条件。若省略,则Docker Wrapper不可用,但可运行多个代理(需指定不同配置目录)。
容器内启动独立Docker守护进程,需使用--privileged标志及带-linux-sudo后缀的镜像:
docker run -e SERVER_URL="<TeamCity服务器URL>" \ -u 0 \ -v <代理配置目录路径>:/data/teamcity_agent/conf \ -v docker_volumes:/var/lib/docker \ --privileged -e DOCKER_IN_DOCKER=start \ jetbrains/teamcity-agent:2021.1.1-linux-sudo
-v docker_volumes:/var/lib/docker用于解决aufs文件系统及Windows主机启动时的问题(相关issue)。多代理需指定不同卷,如agent1_volumes:/var/lib/docker。
Windows容器的已知问题详情参见TeamCity文档。
通过以下步骤自定义镜像:
docker run -e SERVER_URL="<TeamCity服务器URL>" \ -v <代理配置目录路径>:/data/teamcity_agent/conf \ --name="my-customized-agent" \ jetbrains/teamcity-minimal-agent
docker exec -it my-customized-agent bash
docker commit my-customized-agent <目标镜像仓库>
本镜像遵循TeamCity许可证,免费版支持100个构建配置和3个代理,详情参见许可政策。
问题反馈请提交至官方issue跟踪器。
免费版仅支持 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