Не удается получить доступ к реестру docker за traefik 2.0 - PullRequest
0 голосов
/ 05 августа 2020

Я публикую проблему, над которой я работал несколько дней .. Это на сервере, где я запускаю gitlab в контейнере docker, и у меня проблема с реестром, интегрированным в образ gitlab ..

Сводка

Я установил Gitlab с изображением омнибуса docker, и изображение отображается с помощью traefik 2.0. Я могу получить доступ к Git с помощью https, но не могу получить доступ к реестру

Шаги для воспроизведения

Создайте файл docker -compose.yml:

gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: hlx-gitlab
    hostname: '${HX_GITLAB_HOSTNAME}'
    env_file:
      - .env
    volumes:
      - ${HX_GITLAB_CONFIG}:/etc/gitlab:rw
      - ${HX_GITLAB_LOGS}:/var/log/gitlab:rw
      - ${HX_GITLAB_DATA}:/var/opt/gitlab:rw
    environment:
      TZ: ${HX_TIMEZONE}
      GITLAB_OMNIBUS_CONFIG: |
        external_url "https://${HX_GITLAB_HOSTNAME}"
        gitlab_rails['gitlab_ssh_host'] = "${HX_GITLAB_HOSTNAME}"
        gitlab_rails['time_zone'] = '${HX_TIMEZONE}'

        # Nginx params to redirect from traefik
        nginx['listen_port'] = 80
        nginx['listen_https'] = false
        nginx['proxy_set_headers'] = {
          "X-Forwarded-Proto" => "https",
          "X-Forwarded-Ssl" => "on"
        }

        letsencrypt['enable'] = false
        # DATABASE CONNECTION SETTINGS: in our case we use postgresql as database
        gitlab_rails['db_adapter'] = "postgresql"
        gitlab_rails['db_database'] = "${HX_DB_NAME}"
        gitlab_rails['db_host'] = "${HX_DB_CONTAINER_NAME}"
        gitlab_rails['db_username'] = "${HX_DB_USER}"
        gitlab_rails['db_password'] = "${HX_DB_PASSWORD}"
        gitlab_rails['db_encoding'] = "utf8"

        postgres_exporter['env']['DATA_SOURCE_NAME'] = "user=${HX_DB_USER} password=${HX_DB_PASSWORD} host=${HX_DB_CONTAINER_NAME} database=${HX_DB_NAME} sslmode=disable"
        postgres_exporter['password'] = "${HX_DB_PASSWORD}"

        # SMTP Conf
        gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = "${HX_SMTP_HOSTNAME}"
        gitlab_rails['smtp_port'] = 587
        gitlab_rails['smtp_user_name'] = "${HX_SMTP_USERNAME}"
        gitlab_rails['smtp_password'] = "${HX_SMTP_PW}"
        gitlab_rails['smtp_domain'] = "${HX_SMTP_HOSTNAME}"
        gitlab_rails['smtp_authentication'] = "login"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_tls'] = false
        gitlab_rails['gitlab_email_from'] = "${HX_EMAIL_FROM}"
        gitlab_rails['gitlab_email_reply_to'] = "${HX_SMTP_USERNAME}"

        # REDIS
        redis['enable'] = false
        gitlab_rails['redis_host'] = '${HX_REDIS_CONTAINER_NAME}'
        gitlab_rails['redis_port'] = '6379'

        # GITLAB DOCKER IMAGE REGISTRY: so that we can use our docker image registry with gitlab
        registry_external_url 'https://${HX_REG_HOST}'
        gitlab_rails['registry_enabled'] = true
        gitlab_rails['api_url'] = 'https://${HX_REG_HOST}'
        registry['enable'] = true
        registry_nginx['enable'] = false

    labels:
      - "traefik.http.routers.gitlab.rule=Host(`${HX_GITLAB_HOSTNAME}`)"
      - "traefik.http.routers.gitlab.tls.certresolver=le"
      - "traefik.http.routers.gitlab.entrypoints=websecure"
      - "traefik.http.routers.gitlab.service=gitlab"
      - "traefik.http.services.gitlab.loadbalancer.server.port=80"
      # registry
      - "traefik.http.routers.gitlab-registry.rule=Host(`${HX_REG_HOST}`)"
      - "traefik.http.routers.gitlab-registry.tls.certresolver=le"
      - "traefik.http.routers.gitlab-registry.entrypoints=websecure"
      - "traefik.http.routers.gitlab-registry.service=gitlab-registry"
      - "traefik.http.services.gitlab-registry.loadbalancer.server.port=5555"
    ports:
      # the mapped port must match ssh_port specified above.
      - "22:22"
    networks:
      - proxy
      - gitlab_db_net
      - gitlab_redis_net
    restart: unless-stopped

Каково текущее поведение ошибка ?

При попытке входа в систему docker URL-адрес реестра возвращает 502 bad gateway

Ожидаемое значение правильное поведение?

Успешный docker вход в систему

Соответствующие журналы

Я не нашел никаких соответствующих журналов для этой ошибки

Подробная информация о пакете версия

Укажите сведения об установке версии пакета

 Name                                          Version                     Architecture                Description
+++-=============================================-===========================-===========================-================================================================================================
ii  gitlab-ce                                     13.0.6-ce.0                 amd64                       GitLab Community Edition (including NGINX, Postgres, Redis)
un  gitlab-ee                                                                                 (no description available)

Сведения о среде

  • Операционная система: Ubuntu 20.04
  • Цель установки, удалить неверный значения:
    • Docker контейнер на VPS в OVH
  • Тип установки, удалите неверные значения:
    • Новая установка
  • Есть ли на машине другое программное обеспечение: Нет на docker контейнере
  • Это грех обычная или многоузловая установка? Одиночный
  • Ресурсы
    • ЦП: 2 v-cores
    • Общий объем памяти: 4Go

Детали конфигурации

Конфигурацию можно найти в файле docker -compose выше

Спасибо за ваши ответы

...