2016-06-12 24 views
10

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.

+0

Sta dicendo Postgres è in esecuzione sul 5432 nel contenitore , ma vuoi esporlo sul 5433? –

risposta

20

Sto assumendo Postgres è in esecuzione sulla porta 5432 nel contenitore e si desidera esporre sul host 5433.

Usare questa nei porti strofa:

ports: 
    -"5433:5432" 

che verrà esporre il server sulla porta 5433 sull'host. Puoi sbarazzarti della tua strophe esistente in questo scenario.

Se si desidera solo esporre il servizio ad altri servizi dichiarati nel file di composizione, basta usare la espongono strofe e puntarlo alla porta esposto internamente 5432.

+0

Non è necessario aggiornare il progetto 'settings.py' Impostazioni del database – Max