GitLab Runner: «Не удалось разрешить хост», но может с exec в контейнер - PullRequest
2 голосов
/ 17 октября 2019

Я пытаюсь настроить GitLab с помощью docker compose. У меня работают GitLab и Runner, но когда конвейер запускается, ему не удается клонировать репозиторий git:

Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /builds/jgg/test-project/.git/
fatal: unable to access 'http://gitlab-ci-token:[MASKED]@gitlab/jgg/test-project.git/': Could not resolve host: gitlab

Однако, когда я выполняю exec в контейнер, я могу:

$ docker exec -it gitlabsystem_gitlab-runner_1 bash
root@gitlab-runner:/# git clone http://gitlab/jgg/test-project.git
Cloning into 'test-project'...
Username for 'http://gitlab': jgg
Password for 'http://jgg@gitlab': 
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.

Так что из контейнера все выглядит нормально, я полагаю, что GitLab должен делать что-то, чего я не ожидаю, когда он на самом деле его запускает - какие-либо идеи?

Хост - Ubuntu 16.04, мой файл для компоновки:

version: "2.0"

services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    restart: always
    hostname: gitlab
    ports:
      - "22:22"
      - "80:80"
      - "443:443"
    volumes:
      - /srv/sf/gitlab/logs:/var/log/gitlab
      - /srv/sf/gitlab/data:/var/opt/gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab/'

  gitlab-runner:
    image: gitlab/gitlab-runner:latest
    restart: always
    hostname: gitlab-runner
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
...