dimitrius86
@dimitrius86
Сисадмин. Немного программирую.

Почему не работает реестр образов в Traefik+GitLab?

Коллеги привет! Прошу совета/помощи.

Вобщем суть вопроса) Есть Traefik v2.9.4 (запущен в докере) который проксирует запросы к гитлабу который поднят в докер-контейнере.

У traefik доменное имя lb-gitlab.abc.ru
У гитлаба gitlab.abc.ru
У реестра контейнеров гитлаба: registry.abc.ru

Гитлаб как таковой работает, все норм. Но не работает container registry !

Когда выполняешь docker login gitlab.abc.ru возникает такая ошибка:

Error response from daemon: Get "https://gitlab.abc.ru/v2/": error parsing HTTP 403 response body: no error details found in HTTP response body: "{\"message\":\"access forbidden\",\"status\":\"error\",\"http_status\":403}"


Access Token в гитлабе взял валидный - не получается залогиниться. Пробовал использовать свой пароль юзера от гитлаба - тоже не канает.

Гитлаб работает, а реестр - нет.

Полагаю что дело кроется в настройках trefik или gitlab.rb

gitlab.ru
external_url 'http://gitlab.abc.ru'
registry_external_url 'http://registry.abc.ru'

gitlab_rails['registry_enabled'] = true
gitlab_rails['registry_host'] = "registry.abc.ru"
registry['enable'] = true
gitlab_rails['registry_port'] = "5005"


docker-compose.yml
gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    hostname: gitlab.abc.ru
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.gitlab.entrypoints=http"
      - "traefik.http.routers.gitlab.rule=Host(`gitlab.abc.ru`)"
      - "traefik.http.middlewares.gitlab-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.gitlab.middlewares=gitlab-https-redirect"
      - "traefik.http.routers.gitlab-secure.entrypoints=https"
      - "traefik.http.routers.gitlab-secure.rule=Host(`gitlab.abc.ru`)"
      - "traefik.http.routers.gitlab-secure.tls=true"
      - "traefik.http.routers.gitlab-secure.tls.certresolver=letsEncrypt"
      - "traefik.http.routers.gitlab-secure.service=gitlab"
      - "traefik.http.services.gitlab.loadbalancer.server.port=80"
      - "traefik.http.routers.gitlab-registry.rule=Host(`registry.abc.ru`)"
      - "traefik.http.middlewares.gitlab_registry-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.gitlab.middlewares=gitlab_registry-https-redirect"
      - "traefik.http.routers.gitlab-registry.tls.certresolver=letsEncrypt"
      - "traefik.http.routers.gitlab-registry.entrypoints=https"
      - "traefik.http.routers.gitlab-registry.service=gitlab-registry"
      - "traefik.http.services.gitlab-registry.loadbalancer.server.port=5005"
      - "traefik.docker.network=traefik-net-16"
    environment:
      GITLAB_OMNIBUS_CONFIG: external_url 'https://gitlab.abc.ru'
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 4096M
        reservations:
          cpus: '1.8'
          memory: 4000M
    networks:
      traefik-net-16:
        ipv4_address: 172.16.0.4
    volumes:
      - $GITLAB_HOME/config:/etc/gitlab
      - $GITLAB_HOME/logs:/var/log/gitlab
      - $GITLAB_HOME/data:/var/opt/gitlab
    restart: always
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы