Отказ в соединении с GitLab CI Runner и GitLab CE в Docker - PullRequest
0 голосов
/ 06 декабря 2018

У меня проблемы при попытке запустить GitLab CE и GitLab CI Runner в контейнерах Docker.

Вот так я запускаю контейнер GitLab CE:

docker run --detach \
  --name gitlab \
  --hostname gitlab.local \
  --publish 80:80 \
  --restart always \
  --env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.local/';" \
  --volume ~/volumes/gitlab/config:/etc/gitlab \
  --volume ~/volumes/gitlab/logs:/var/log/gitlab \
  --volume ~/volumes/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce

Затем Я могу без проблем подключиться к GitLab на хосте как через локально связанный интерфейс - т.е. http://localhost - так и через IP-адрес контейнера - т.е. http://gitlab.local после добавления, например, 172.17.0.2 gitlab gitlab.local в мой файл hosts).

Проблемы возникают при попытке зарегистрировать контейнер GitLab CI Runner через:

docker run --rm --tty --interactive \
    --name gitlab-runner-register \
    --add-host "gitlab.local:172.17.0.2" \
    --link=gitlab \
    --volume ~/volumes/gitlab-runner:/etc/gitlab-runner \
    gitlab/gitlab-runner \
        register \
            --non-interactive \
            --executor "docker" \
            --docker-image alpine:3 \
            --url "http://gitlab.local/" \
            --registration-token "XXXXXXXXXXXX" \
            --description "docker-runner" \
            --tag-list "docker" \
            --run-untagged \
            --locked="false"

Я получаю следующие ошибки:

ERROR: Registering runner... failed                 runner=XXXXXX status=couldn't execute POST against http://gitlab.local/api/v4/runners: Post http://gitlab.local/api/v4/runners: dial tcp 172.17.0.2:80: getsockopt: connection refused
PANIC: Failed to register this runner. Perhaps you are having network problems

Некоторая помощь?Заранее спасибо!

ОБНОВЛЕНИЕ: Я также пытался связать BusyBox с контейнером gitlab.Pinging работает как шарм, но wget ting дает Connection refused:

$ docker run --rm --link=gitlab busybox ping -c 1 gitlab
PING gitlab (172.17.0.2): 56 data bytes
64 bytes from 172.17.0.2: seq=0 ttl=64 time=0.124 ms

--- gitlab ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.124/0.124/0.124 ms

$ docker run --rm --link=gitlab busybox wget http://gitlab
Connecting to gitlab (172.17.0.2:80)
wget: can't connect to remote host (172.17.0.2): Connection refused

Так что работа в сети работает нормально и, вероятно, «проблема» больше связана с привязкой.В качестве демонстрации этого я попытался запустить http-сервер Python в контейнере gitlab, чтобы повторить команду wget и ... она работает:

$ docker run --rm --link=gitlab busybox wget http://gitlab:8000
Connecting to gitlab:8000 (172.17.0.2:8000)
index.html           100% |********************************|  1065  0:00:00 ETA
...