gitlab和jenkins是安装同一台服务器的不同docker容器时访问地址
在jenkins的源码管理,配置gitlab地址
在 stderr: fatal: unable to access ‘http://172.16.xxx.xxx /xxx/xxx.git/’: Failed to connect to 172.16.xxx.xxx port 80 after 0 ms: Couldn’t connect to server
解决方案:使用 Docker 宿主机的网关 IP
每个 Docker 容器都可以通过一个特殊的 IP 地址访问到宿主机。在默认的 bridge
网络下,这个地址通常是 172.17.0.1
。
步骤:
- 查找 Docker 网桥的 IP 地址 你可以通过以下命令查看宿主机在
docker0
网桥上的 IP:Baship addr show docker0
或者检查bridge
网络的网关:Bashdocker network inspect bridge
在输出的 JSON 中找到"Gateway"
的值,通常是172.17.0.1
。 - 在 Jenkins 中修改 GitLab 地址 将 Jenkins 中配置的 GitLab 仓库地址中的 IP 替换为这个网关 IP。
- 修改后地址:
http://172.17.0.1/xxx/xxx.git
- 注意:这个方案不如方案一健壮。如果你有多个自定义网络,或者 Docker 的网络配置被修改,这个 IP 可能会变化。
- 修改后地址: