Сервер работает на хосте «postgres_db» (10.10.0.4) и принимает соединения TCP/IP через порт 5434?

Это docker compose для django

environment:
      SECRET_KEY: "KEY"
      DEBUG: "True"
      NAME: "NAME"
      USER: "USER"
      PASSWORD: "PASSWORD"
      HOST: "HOST"
      PORT: "5434"
    depends_on:
      - postgres_db

Это docker compose для postgres

  postgres_db:
    image: postgres
    environment:
      POSTGRES_HOST_AUTH_METHOD: trust
      POSTGRES_USER: ss
      POSTGRES_PASSWORD: ss
      PGDATA: /data/ss
    volumes:
      - postgres:/data/postgres

    ports:
      - "5434:5432"
    networks:
      main_network:
        ipv4_address: 10.10.0.4
    restart: unless-stopped

Это мои данные конфигурации базы данных в настройках django.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',

        'NAME':  os.getenv('NAME'),

        'USER':  os.getenv('USER'),

        'PASSWORD':  os.getenv('PASSWORD'),

        'HOST': "postgres_db",

        'PORT':  os.getenv('PORT')
    }
}

Я не могу найти свою ошибку. Я потратил 4-5 часов, но безуспешно.

все еще я получаю эту ошибку. Сервер работает на хосте «postgres_db» (10.10.0.4) и принимает соединения TCP / IP через порт 5434? когда я пишу docker compose up

Контейнер postgres работает нормально? Вы проверяли статус службы postgres в ее контейнере?

Jarvis 25.12.2020 20:58

@Jarvis Да, работает нормально, я могу подключиться, если напишу 127.0.0.1 в файле настроек. Но в докере это не работает.

Elvin Jafarov 25.12.2020 21:00

Почему вы добавили конфигурацию сети в Dockerfile postgres?

Jarvis 25.12.2020 21:02

@Jarvis, потому что я хочу подключиться из django в докере

Elvin Jafarov 25.12.2020 21:07

Разве вы не можете использовать имя контейнера докера, работающего непосредственно на локальном хосте? Почему вы указали 10.10.0.4 явно?

Jarvis 25.12.2020 21:08

@Jarvis Я поменял, но опять не получилось

Elvin Jafarov 25.12.2020 21:13

Давайте продолжим обсуждение в чате.

Elvin Jafarov 25.12.2020 21:21
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
7
114
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

По умолчанию он обычно работает на порту «5432».

Ответ принят как подходящий

РЕШЕНИЕ

Я удалил все контейнеры, тома и изображения, после чего заработало.

Другие вопросы по теме