Dockerized Gitlab-runner 找不到 Gitlab 容器

Dockerized Gitlab-runner 找不到 Gitlab 容器

我是初学者 :)

我在公司的本地网络上设置了一个 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 地址放入mycompanygitGitLab-runner 配置中,而不必担心运行器的 DNS。

相关内容