这是我的设置:
我使用Docker运行GitLab,将它在端口10080上暴露给我的机器。 我的机器上有一个配置为使用Docker执行器的gitlab-runner。
当我将跑步者连接到我的GitLab实例时,我使用localhost:10080
作为可以正常工作的网址。
当跑步者在Docker容器中运行作业时,它会尝试克隆localhost:10080
中的代码,这显然会失败,因为它在容器内部,而localhost不会引用我的本地机器。
现在有什么选择? Docker for Mac有一个host.docker.internal
DNS条目,当进入容器时引用主机,但是当我注册转轮时我无法使用它,因为转轮直接在我的机器上运行。
答案 0 :(得分:0)
我找到了一个适合我的解决方案,但可能取决于系统。
在~/.gitlab-runner/config.toml
配置下的[runners.docker]
中,我只需要添加extra_hosts = ["localhost:172.17.0.1"]
来覆盖localhost
的IP。 172.17.0.1
IP可能因其他人机而异。