从 Gitlab CI 服务连接回主容器
Connect back to main container from GitlabCI service
我正在使用 Gitlab CI 与 docker 执行器和 services。
在测试期间,我在主脚本中启动了一个服务器,我需要该服务向主脚本发出请求。
有没有 address/alias 我可以用来连接回主构建脚本?类似于 host.docker.internal
.
伪例子:
test:
services:
name: ping-pong-service
variables:
CALLBACK_ADDRESS: 'http://host.docker.internal:8090/pong'
script:
- "Start a server at 0.0.0.0:8090"
- curl http://ping-pong-service:80/ping
假设 ping-pong-service
是一个服务,当在 :80 收到任何 http 请求时,向 CALLBACK_ADDRESS
执行新请求。我应该在 CALLBACK_ADDRESS
中输入什么以连接回主容器?
我试着查看运行器上启动了哪些容器,但主容器在 docker 网络中似乎没有可预测的名称或别名。
环境:
- Docker: 20.10.12
- Gitlab Runner:14.8.0,自托管,FF_NETWORK_PER_BUILD=1
- Gitlab:14.9.2-ee,自托管
当为 networks per job 使用 FF_NETWORK_PER_BUILD
功能标志时,使用 services:
启动的容器可以使用网络别名 build
访问主作业容器
假设您的服务按照您的描述配置,您将使用:
variables:
CALLBACK_ADDRESS: 'http://build:8090/pong'
注意:这不适用于在该场景的作业容器中使用 docker run
启动的容器。
我正在使用 Gitlab CI 与 docker 执行器和 services。
在测试期间,我在主脚本中启动了一个服务器,我需要该服务向主脚本发出请求。
有没有 address/alias 我可以用来连接回主构建脚本?类似于 host.docker.internal
.
伪例子:
test:
services:
name: ping-pong-service
variables:
CALLBACK_ADDRESS: 'http://host.docker.internal:8090/pong'
script:
- "Start a server at 0.0.0.0:8090"
- curl http://ping-pong-service:80/ping
假设 ping-pong-service
是一个服务,当在 :80 收到任何 http 请求时,向 CALLBACK_ADDRESS
执行新请求。我应该在 CALLBACK_ADDRESS
中输入什么以连接回主容器?
我试着查看运行器上启动了哪些容器,但主容器在 docker 网络中似乎没有可预测的名称或别名。
环境:
- Docker: 20.10.12
- Gitlab Runner:14.8.0,自托管,FF_NETWORK_PER_BUILD=1
- Gitlab:14.9.2-ee,自托管
当为 networks per job 使用 FF_NETWORK_PER_BUILD
功能标志时,使用 services:
启动的容器可以使用网络别名 build
假设您的服务按照您的描述配置,您将使用:
variables:
CALLBACK_ADDRESS: 'http://build:8090/pong'
注意:这不适用于在该场景的作业容器中使用 docker run
启动的容器。