Nano Hash - криптовалюты, майнинг, программирование

Pgadmin4 не может подключиться к моей базе данных postgres

вот мой файл docker-compose.yml:

version: "3.5"
services:
  db:
    image: myapp
    container_name: my-database
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypasswd
      POSTGRES_DB: mydb
    expose:
      - "5432"
    ports:
      - 8000:5432
    volumes:
      - /path/to/my/migrationsV1_0__audit_table.sql
      - //path/to/my/migrations/V1_1__tables.sql
  pgadmin:
    image: dpage/pgadmin4
    ports:
      - 5454:5454/tcp
    environment:
      - [email protected]
      - PGADMIN_DEFAULT_PASSWORD=postgres
      - PGADMIN_LISTEN_PORT=5454

Тогда я $ docker inspect xxxxxxxx | grep "IPAddress"

Он производит вывод:

    "SecondaryIPAddresses": null,
    "IPAddress": "172.17.0.2",
            "IPAddress": "172.17.0.2",

После создания докера я ввожу значения в pgadmin следующим образом:

Pgadmin_capture

Но pgadmin выдает ошибку:

Невозможно подключиться к серверу

время ожидания истекло.

Что здесь не так?


Ответы:


1

В вашей конфигурации база данных PostgreSQL имеет порт 5432 (значение по умолчанию). Вы уверены в этой строке?

PGADMIN_LISTEN_PORT=5454

Попробуйте заменить его на

PGADMIN_LISTEN_PORT=5432
21.12.2019
  • Та же ошибка возникает при изменении строки на PGADMIN_LISTEN_PORT=5432. 22.12.2019

  • 2

    для обхода этой проблемы просто запустите контейнер с --user=root (в docker-compose используйте user: root)

    08.01.2020

    3

    Вам нужно использовать адрес шлюза контейнера Postgres. Используйте docker inspect xxxxxxxx | grep Gateway, чтобы получить его. Думаю, в вашем случае это будет 172.17.0.1

    02.07.2020
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..