@gagareg

Как исправить Failed to connect to gitlab-web port 80 в gitlab?

Добрый день, получаю следующую ошибку при деплои:

Fetching changes with git depth set to 50...
 Reinitialized existing Git repository in /builds/isamarskiy/ci-cd-test/.git/
 fatal: unable to access 'http://gitlab-web/isamarskiy/ci-cd-test.git/': Failed to connect to gitlab-web port 80: Operation timed out


Забавно, но если запустить новую джобу и вернуть в предыдущую, то ошибка измениться следующим образом:

Fetching changes with git depth set to 50...
 Reinitialized existing Git repository in /builds/isamarskiy/ci-cd-test/.git/
 fatal: unable to access 'http://gitlab-web/isamarskiy/ci-cd-test.git/': Could not resolve host: gitlab-web


docker-compose.yml

version: "3.3"

services:
  gitlab-web:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab-web
    hostname: gitlab-web
    volumes:
      - "./gitlab-config:/etc/gitlab"
      - "./gitlab-logs:/var/log/gitlab"
      - "./gitlab-data:/var/opt/gitlab"
    ports:
      - "80:80"
      - "443:443"
      - "22:22"
    networks:
      - gitlab-network

  gitlab-runner-1:
    image: gitlab/gitlab-runner:latest
    container_name: gitlab-runner-1
    hostname: gitlab-runner-1
    volumes:
      - "./gitlab-runner-1-config:/etc/gitlab-runner:Z"
      - "/var/run/docker.sock:/var/run/docker.sock"
    networks:
      - gitlab-network

networks:
  gitlab-network:
    ipam:
        driver: default
        config:
            - subnet: 192.168.1.0/24


Данные полученые командой docker inspect...

192.168.1.1 - gateway
192.168.1.2 - gitlab-web
192.168.1.3 - gitlab-runner-1


Файл /etc/gitlab-runner/config.toml от gitlab-runner
root@gitlab-runner-1:/# cat /etc/gitlab-runner/config.toml 
concurrent = 1
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "gitlab-runner-1"
  url = "http://gitlab-web/"
  token = "oydJNWxbzkMWokLTJAxy"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
  [runners.docker]
    extra_hosts = ["gitlab-web:192.168.1.2"]
    tls_verify = false
    image = "alpine:3.7"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0


Файл /etc/hosts для gitlab-runner-1
root@gitlab-runner-1:/# cat /etc/hosts
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.1.2     gitlab-runner-1
192.168.1.3     gitlab-web

Здесь видно, что порт 80 работает на gitlab-web
root@gitlab-web:/# lsof -i -P -n 
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd     25 root    3u  IPv4 301788      0t0  TCP *:22 (LISTEN)
sshd     25 root    4u  IPv6 301789      0t0  TCP *:22 (LISTEN)
nginx   340 root    7u  IPv4 305451      0t0  TCP *:80 (LISTEN)
nginx   340 root    8u  IPv4 305452      0t0  TCP *:8060 (LISTEN)


Также видно, что работает запрос по 80 порту.
root@gitlab-runner-1:/# curl http://gitlab-web/isamarskiy/ci-cd-test.git/
<html><body>You are being <a href="http://gitlab-web/isamarskiy/ci-cd-test">redirected</a>.</body></html>

Как можно это исправить?
  • Вопрос задан
  • 2153 просмотра
Пригласить эксперта
Ответы на вопрос 1
@foxyhunt
Начнём с простого сам 80 порт доступен?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы