Sto tentando di distribuire un secondo contenitore di database su un server remoto utilizzando Docker compose. Questo server postgresql viene eseguito sulla porta 5433 anziché su 5432 come utilizzato dal primo contenitore postgresql.Modifica di una porta del server Container Postgres in Docker Compose
Quando ho creato l'applicazione ottengo questo output di errore:
web_1 | django.db.utils.OperationalError: could not connect to server: Connection refused
web_1 | Is the server running on host "db" (172.17.0.2) and accepting
web_1 | TCP/IP connections on port 5433?
e il mio file di comporre finestra mobile è:
db:
image: postgres:latest
environment:
POSTGRES_PASSWORD: route_admin
POSTGRES_USER: route_admin
expose:
- "5433"
ports:
- "5433"
volumes:
- ./backups:/home/backups
web:
build: .
command: bash -c "sleep 5 && python -u application/manage.py runserver 0.0.0.0:8081"
volumes:
- .:/code
ports:
- "81:8081"
links:
- db
environment:
- PYTHONUNBUFFERED=0
Sento la questione deve essere il file sul postgresql.conf l'istanza del server ha impostato la porta su 5432 causando l'errore quando la mia app tenta di connettersi ad essa. C'è un modo semplice per cambiare la porta usando un comando nel file di composizione invece di fare i conti con i volumi per sostituire il file?
Sto utilizzando il contenitore postgresql ufficiale per questo lavoro.
Sta dicendo Postgres è in esecuzione sul 5432 nel contenitore , ma vuoi esporlo sul 5433? –