Новичок здесь :)
Я настроил экземпляр Gitlab в локальной сети моей компании. Он размещен в контейнере Docker, запущенном на выделенном сервере, имя хоста которого — «devserver«Этот экземпляр Gitlab доступен через «https://mycompanygit», поскольку сетевой DNS настроен на перенаправление mycompanygit на локальный ip devserver. На devserver запущен другой контейнер, обратный прокси nginx, который перенаправляет http и https запросы для mycompanygit в контейнер 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 не может разрешить IP для экземпляра GitLab, поскольку он использует DNS Google для разрешения доменных имен, а DNS Google ничего не знает о mycompanygit
. Смотрите конец строки ERROR:
... поиск mycompanygit на 8.8.8.8:53: такого хоста нет
Самым простым решением было бы указать IP-адрес, который вы использовали в DNS вашей компании для хоста, mycompanygit
в конфигурации GitLab-runner и не беспокоиться о DNS для runner.