如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!official JetBrains project
本镜像为JetBrains官方提供的TeamCity Server容器化部署方案,适用于生产环境部署和功能评估场景。TeamCity是一款功能强大的持续集成/持续交付(CI/CD)工具,支持自动化构建、测试和部署流程。
首先从Docker Hub拉取镜像:
bashdocker pull jetbrains/teamcity-server
基本启动命令
使用以下命令启动TeamCity Server容器,需确保数据和日志目录持久化:
bashdocker run --name teamcity-server-instance \ -v <主机数据目录路径>:/data/teamcity_server/datadir \ -v <主机日志目录路径>:/opt/teamcity/logs \ -p <主机端口>:8111 \ jetbrains/teamcity-server
参数说明:
<主机数据目录路径>:映射TeamCity数据目录(存储项目配置、构建结果等),首次启动需为空目录。必须挂载,否则容器关闭后数据丢失。<主机日志目录路径>:映射日志目录,用于问题排查。建议挂载,否则日志随容器销毁丢失。<主机端口>:主机映射端口,容器内默认端口为8111。用户权限配置
默认情况下,容器以UID 1000用户运行。如需root权限(不推荐),可通过--user 0参数指定:
bashdocker run --name teamcity-server-instance \ --user 0 \ -v <主机数据目录路径>:/data/teamcity_server/datadir \ -v <主机日志目录路径>:/opt/teamcity/logs \ -p <主机端口>:8111 \ jetbrains/teamcity-server
安全提示:以root用户运行容器可能带来权限提升等安全风险,生产环境需进行充分安全评估。
HTTPS反向代理配置
当TeamCity部署在Nginx或Apache等反向代理后,需启用安全Cookie配置,通过环境变量实现:
bashdocker run --name teamcity-server-instance \ -e TEAMCITY_HTTPS_PROXY_ENABLED=true \ -v <主机数据目录路径>:/data/teamcity_server/datadir \ -v <主机日志目录路径>:/opt/teamcity/logs \ -p <主机端口>:8111 \ jetbrains/teamcity-server
该参数会使TeamCity使用server-https-proxy.xml配置文件,启用HTTPS相关选项。
HTTPS访问配置
TeamCity Server默认通过443端口提供HTTPS服务,但非root用户(如UID 1000)无法使用1024以下特权端口。解决方法如下:
方法1:端口映射(推荐)
将容器内非特权端口8443映射到主机443端口:
bashdocker run --name teamcity-server-instance \ -v <主机数据目录路径>:/data/teamcity_server/datadir \ -v <主机日志目录路径>:/opt/teamcity/logs \ -p 443:8443 \ # 主机443端口映射到容器8443端口 jetbrains/teamcity-server
方法2:root用户运行(不推荐)
以root用户启动容器,直接使用443端口:
bashdocker run --name teamcity-server-instance \ --user 0 \ -v <主机数据目录路径>:/data/teamcity_server/datadir \ -v <主机日志目录路径>:/opt/teamcity/logs \ -p 443:443 \ jetbrains/teamcity-server
自定义Tomcat配置
TeamCity基于Tomcat服务器运行,可通过挂载自定义配置目录覆盖默认配置:
bashdocker run --name teamcity-server-instance \ -v /自定义/tomcat/conf目录:/opt/teamcity/conf \ # 挂载自定义Tomcat配置 -v <主机数据目录路径>:/data/teamcity_server/datadir \ -v <主机日志目录路径>:/opt/teamcity/logs \ -p <主机端口>:8111 \ jetbrains/teamcity-server
如需获取默认Tomcat配置样本,可通过
docker cp命令从运行中的容器复制:
docker cp teamcity-server-instance:/opt/teamcity/conf /本地目录
Windows容器需指定数据目录、日志目录和临时目录的挂载路径:
powershelldocker run --name teamcity-server-instance ` -v <主机数据目录路径>:C:/ProgramData/JetBrains/TeamCity ` -v <主机日志目录路径>:C:/TeamCity/logs ` -v <主机临时目录路径>:C:/TeamCity/temp ` -p <主机端口>:8111 ` jetbrains/teamcity-server
推荐配置:为容器分配足够资源(内存、CPU)并调整JVM参数:
powershelldocker run --memory="6g" --cpus=4 ` -e TEAMCITY_SERVER_MEM_OPTS="-Xmx3g -XX:MaxPermSize=270m -XX:ReservedCodeCacheSize=640m" ` --name teamcity-server-instance ` -v <主机数据目录路径>:C:/ProgramData/JetBrains/TeamCity ` -v <主机日志目录路径>:C:/TeamCity/logs ` -v <主机临时目录路径>:C:/TeamCity/temp ` -p <主机端口>:8111 ` jetbrains/teamcity-server
注意:Windows容器已知问题可参考TeamCity官方文档。
TeamCity Server需配合构建代理执行构建任务,推荐使用官方代理镜像:
如需一键启动Server和Agent,可参考官方https://github.com/JetBrains/teamcity-docker-samples%E3%80%82
| 环境变量 | 说明 | 示例值 |
|---|---|---|
TEAMCITY_HTTPS_PROXY_ENABLED | 启用HTTPS反向代理模式,使用server-https-proxy.xml配置文件 | true |
TEAMCITY_SERVER_MEM_OPTS | 自定义JVM内存参数 | -Xmx3g -XX:MaxPermSize=270m |
TEAMCITY_CONTEXT | 修改Tomcat中TeamCity应用的上下文路径(默认ROOT,即http://host/) | /teamcity(访问路径变为http://host/teamcity) |
通过-e参数传递环境变量,例如调整JVM内存:
bashdocker run --name teamcity-server-instance \ -e TEAMCITY_SERVER_MEM_OPTS="-Xmx2g -XX:MaxPermSize=270m -XX:ReservedCodeCacheSize=640m" \ -v <主机数据目录路径>:/data/teamcity_server/datadir \ -v <主机日志目录路径>:/opt/teamcity/logs \ -p <主机端口>:8111 \ jetbrains/teamcity-server
停止当前容器后,通过以下命令运行maintainDB脚本:
bashdocker run -it --name teamcity-server-instance \ -v <主机数据目录路径>:/data/teamcity_server/datadir \ -v <主机日志目录路径>:/opt/teamcity/logs \ jetbrains/teamcity-server \ "/opt/teamcity/bin/maintainDB.sh" "backup"
注意:需保持数据目录和日志目录挂载路径与主服务启动命令一致。
docker stop teamcity-server-instancedocker pull jetbrains/teamcity-server详细升级步骤请参考官方升级指南。
本镜像遵循TeamCity许可证。免费版限制:最多100个构建配置和3个构建代理。商业使用需购买相应许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务