Рейтинг:1

Как подключить локальный postgreSQL к докеру (CVAT)

флаг cn

Я пытаюсь подключить локальный сервер postgreSQL (имя базы данных = cvat_lcl) к контейнеру, созданному с помощью docker-compose: НДС. Я могу использовать локальный pgAdmin для чтения обычной базы данных, размещенной в контейнере (на порту 5444), но конечной целью моего развертывания является запуск локальной версии postgresql и подключение контейнера CVAT к этому, а не к встроенному в базе данных. Я новичок в сети, поэтому не слишком уверен, с чего начать.

Что я сделал до сих пор:

pg_hba.conf:

# Административный вход в базу данных через сокет домена Unix
локальный все одноранговые узлы postgres

# ТИП БАЗЫ ДАННЫХ АДРЕС ПОЛЬЗОВАТЕЛЯ МЕТОД

# "local" только для соединений сокетов домена Unix
локальные все все одноранговые
# Локальные соединения IPv4:
хост все все 127.0.0.1/32 md5
# Локальные соединения IPv6:
хост все все ::1/128 md5
# Разрешить подключения репликации с локального хоста пользователем с
# привилегия репликации.
локальная репликация всех одноранговых узлов
репликация узла все 127.0.0.1/32 md5
репликация хоста все ::1/128 md5
хост все все 172.17.0.0/16 md5

postgres.conf

# - Настройки соединения -

listen_addresses = '*' # IP-адрес(а) для прослушивания;
                                        # список адресов через запятую;
                                        # по умолчанию 'localhost'; используйте '*' для всех
                                        # (для изменения требуется перезагрузка)
порт = 5433# (для изменения требуется перезагрузка)

ifconfig -a

docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        инет 172.17.0.1 сетевая маска 255.255.0.0 широковещательная рассылка 172.17.255.255
        inet6 fe80::42:c0ff:fe03:86ac prefixlen 64 scopeid 0x20<ссылка>
        эфир 02:42:c0:03:86:ac txqueuelen 0 (Ethernet)
        Пакеты RX 0 байт 0 (0,0 Б)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 4372 байта 873445 (873,4 КБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

докер-compose.yml

версия: '3.3'

Сервисы:
  cvat_db:
    имя_контейнера: cvat_db
    изображение: postgres:10-alpine
    перезапуск: всегда
    среда:
      POSTGRES_USER: корень
      POSTGRES_DB: cват
      POSTGRES_HOST_AUTH_METHOD: доверие
    тома:
      - cvat_db:/var/lib/postgresql/данные
    сети:
      - cват
    порты:
      - "5444:5432"

  cvat_redis:
    имя_контейнера: cvat_redis
    изображение: redis:4.0-alpine
    перезапуск: всегда
    сети:
      - cват
      
  cват:
    имя_контейнера: cvat
    изображение: openvino/cvat_server
    перезапуск: всегда
    зависит от:
      - cvat_redis
      - cvat_db
    среда:
      DJANGO_MODWSGI_EXTRA_ARGS: ''
      РАЗРЕШЕННЫЕ_ХОСТА: '*'
      CVAT_REDIS_HOST: 'cvat_redis'
      CVAT_POSTGRES_HOST: 'cvat_db'
      ADAPTIVE_AUTO_ANNOTATION: «ложь»
    этикетки:
      - traefik.enable=true
      - traefik.http.services.cvat.loadbalancer.server.port=8080
      - traefik.http.routers.cvat.rule=Host(`${CVAT_HOST:-localhost}`) &&
          PathPrefix(`/api/`, `/git/`, `/opencv/`, `/analytics/`, `/static/`, `/admin`, `/documentation/`, `/django-rq`)
      - traefik.http.routers.cvat.entrypoints=веб
    тома:
      - cvat_data:/home/django/data
      - cvat_keys:/home/django/keys
      - cvat_logs:/home/django/журналы
    сети:
      - cват

  cvat_ui:
    имя_контейнера: cvat_ui
    изображение: openvino/cvat_ui
    перезапуск: всегда
    зависит от:
      - cват
    этикетки:
      - traefik.enable=true
      - traefik.http.services.cvat-ui.loadbalancer.server.port=80
      - traefik.http.routers.cvat-ui.rule=Host(`${CVAT_HOST:-localhost}`)
      - traefik.http.routers.cvat-ui.entrypoints=веб
    сети:
      - cват

  трафик:
    изображение: трафик: v2.4
    имя_контейнера: трафик
    команда:
      - "--providers.docker.exposedByDefault=false"
      - "--providers.docker.network=cvat"
      - "--entryPoints.web.address=:8999"
    # Раскомментируйте, чтобы получить панель инструментов Traefik
    # - "--entryPoints.dashboard.address=:8090"
    # - "--api.dashboard=true"
    # ярлыки:
    # - traefik.enable=true
    # - traefik.http.routers.dashboard.entrypoints=приборная панель
    # - traefik.http.routers.dashboard.service=api@internal
    # - traefik.http.routers.dashboard.rule=Host(`${CVAT_HOST:-localhost}`)
    порты:
      - 8999:8999
      - 8090:8090
    тома:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    сети:
      - cват

тома:
  cvat_db:
  cvat_data:
  cvat_keys:
  cvat_logs:

сети:
  cват:

Подводя итог - цель состоит в том, чтобы подключиться к cvat_lcl база данных (на локальном хосте) в контейнере CVAT. В настоящее время CVAT работает на Linux 20.04 LTS. Заранее спасибо за помощь.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.