Tengo dos imágenes: 1. PostgreSQL, 2. Aplicación Django. Estoy tratando de conectar django con postgres a través de redes Aquí está mi DATABASE_URL
DATABASE_URL=postgres://postgres:[email protected]:5432/music
y mi docker-compose.yml
version: "3.1"
services:
db:
image: postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: qweytr21
POSTGRES_DB: music
ports:
- 5432:5432
web:
build: music-releases/
ports:
- 8000:8000
depends_on:
- db
command: pipenv run python manage.py migrate
Entonces, cuando ejecuto docker-compose up . Postgres muestra que está escuchando esta dirección
listening on IPv4 address "0.0.0.0", port 5432
Pero Django (psycopg2-binary) muestra un error
django.db.utils.OperationalError: could not connect to server: Connection refused
Is the server running on host "0.0.0.0" and accepting
TCP/IP connections on port 5432?
Como puede ver, psycopg busca el verdadero host y el puerto y postgres también está escuchando en ese host y puerto. Ya busqué otra respuesta pero no funcionan. Cualquier ayuda POR FAVOR !!!
Como se menciona en los comentarios de Oli
tienes que usar db
como nombre de host para la conexión de tu base de datos
ambos contenedores deben estar en la misma red, así que cree una red acoplable con este comando docker network create <your network>
agregue a su archivo docker-compose la red para ambos contenedores, puede seguir este tutorial
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras