应该为Docker中的TeamCity代理提供什么服务器URL?

Hob*_*org 1 linux teamcity continuous-integration docker

问题.我正在尝试使用DockerUbuntu Linux 16.04.1 LTS上创建TeamCity基础结构(服务器和代理).我已经运行了一个带有jetbrains/teamcity-server映像的Docker容器,如本页所述.可以使用服务器的IP地址和端口8111通过Web浏览器访问TeamCity服务器.

现在我尝试使用本页所述的代理运行Docker容器.它写道:请注意,"localhost"通常不会工作,因为它将引用容器内的"localhost".好吧,当我向代理容器的运行脚本提供" http:// localhost:8111 ",或" http://127.0.0.1:8111 "或" http:// my_server_ip:8111 "时,我终于得到1 )"WARN - buildServer.AGENT.registration - 通过URL http:// localhost:8111(sic!always localhost)在服务器上注册时出错.将继续重复连接尝试."或2)"WARN - buildServer.AGENT.registration - 通过URL http:// localhost:8111/app/agents/protocols向服务器询问通信协议时出错."

此外,我试图揭示运行服务器的Docker容器的IP地址,并为代理运行脚本提供它.但结果是一样的.

问题.我应该提供什么服务器URL?使用DockerTeamCity配置中是否有任何隐含的步骤我想念?

Seb*_*ian 6

您可以使用该--link参数链接容器:

  1. 启动jetbrains/teamcity-server并使用--name teamcity-server它来为其指定一个描述性名称
  2. 启动代理程序容器并使用它--link teamcity-server来启用与teamcity-server容器的连接
  3. 在代理容器内部,您现在可以将其teamcity-server用作连接到teamcity-server容器的主机名

另请查看Docker容器网络,该网络取代了该--link功能.

  • 现在,在您的“teamcity-agent”中,您可以使用**内部端口 8111** 引用链接的“teamcity-server”容器(在我的情况下,我将其命名为 teamcity)。像这样`SERVER_URL=http://teamcity:8111` (3认同)