
我是初学者 :)
我在公司的本地网络上设置了一个 Gitlab 实例。它托管在 Docker 容器中,在专用服务器上运行,主机名为“开发服务器“此 Gitlab 实例可通过以下方式访问”https://mycompanygit”,因为网络 DNS 设置为将 mycompanygit 重定向到 devserver 的本地 ip。在 devserver 上,还有另一个容器正在运行,即 nginx 反向代理,它将 mycompanygit 的 http 和 https 请求重定向到 gitlab 容器。现在我想添加第三个容器,即 Gitlab-runner 实例。因此我运行以下命令,取自此处。
docker run --rm -t -i -v /srv/gitlab-runner/config:/etc/gitlab-runner --name gitlab-runner gitlab/gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image alpine:3 \
--url "https://mycompanygit" \
--registration-token "MY_REGISTRATION_TOKEN" \
--description "docker-runner" \
--tag-list "docker,aws" \
--run-untagged \
--locked="false"
我得到:
ERROR: Registering runner... failed runner=i3ygCNvW status=couldn't execute POST against https://mycompanygit/api/v4/runners: Post https://mycompanygit/api/v4/runners: dial tcp: lookup mycompanygit on 8.8.8.8:53: no such host
PANIC: Failed to register this runner. Perhaps you are having network problems
如何让 Gitlab-runner 查看 Gitlab 实例?我甚至不知道它是否与 Docker 或 Gitlab 相关?
另外:gitlab 和 nginx 实例已经与 docker-compose 一起设置,这有关系吗?
非常感谢 :) 如果我说得不清楚,请告诉我,我会尝试重新表述
答案1
GitLab Runner 无法解析 GitLab 实例的 IP,因为它使用 Google 的 DNS 进行域名解析,而 Google 的 DNS 对 一无所知mycompanygit
。查看 ERROR 行的末尾:
... 在 8.8.8.8:53 上查找 mycompanygit:没有这样的主机
最简单的解决方案是将您在公司 DNS 中使用的主机 IP 地址放入mycompanygit
GitLab-runner 配置中,而不必担心运行器的 DNS。