2014-08-28 7 views
31

Ho creato un'immagine ubuntu con nginx, php e postgres.docker postgres collegamento locale pgadmin

Desidero collegare il database Postgres nella mia immagine corrente con pgadmin situato sul mio computer locale.

Ho provato a utilizzare l'ispettore di finestra mobile per provare a utilizzare l'ip dell'immagine per stabilire una connessione con il mio pgadmin locale ma senza molto successo. Ho anche provato a configurare alcune porte su local per far funzionare la connessione.

+0

Non si dice se PostgreSQL stia ascoltando connessioni esterne (controllare i file di configurazione) o se tale porta appare aperta dal computer locale. –

+0

Non sembra possibile rispondere a questa domanda con così poche informazioni fornite – cthulhu

risposta

43

È una domanda valida non so perché le persone si sentono "non sembra possibile rispondere a questa domanda".

Quindi, ecco come faccio quello che si sta cercando di fare:

  1. Postgres Pull immagine da Docker Hub

    docker pull postgres:latest

  2. Eseguire il contenitore con il comando di seguito

    docker run -p 5432:5432 postgres

  3. Usando finestra mobile di ispezionare il comando trovare l'IP

  4. Usa che IP, porta, nome utente e password per connettersi a pgAdmin

  5. Si può anche fare un semplice telnet come qui di seguito per confermare se è possibile accedere Postgres docker contenitore:

    telnet IP_ADDRESS 5432

+4

Se si sta pubblicando la porta con questo '-p 5432: 5432', non è necessario trovare l'IP del contenitore per utilizzare l'IP dell'host, o '127.0.0.1' o solo' localhost' – Davos

4

bisogna esporre al porto Postgres nel contenitore a te sistema locale. A tale scopo, eseguendo il contenitore come questo:

docker run -p 5432:5432 <name/id of container>

quando si collega con il client GUI o CLI assicurarsi di utilizzare l'indirizzo IP non localhost anche se il vostro indirizzo IP è l'indirizzo IP localhost.

docker ps ti darebbe l'indirizzo IP del tuo contenitore postgres.

18

quello che ho fatto con successo su Windows 10 in esecuzione finestra mobile per Windows 1.12.6 (9655), il passo è come qui di seguito:

  1. Tirare le ultime postgres

    Postgres finestra mobile di tiro: ultima

  2. eseguire il postgres containner

    finestra mobile run -d -e POSTGRES_USER = utente -e POSTGRES_PASSWORD = password123 --name db-my -p 5432: 5432 --restart = sempre postgres

  3. Quindi installato l'ultimo versione di pgAdmin4 da pgadmin website

  4. Run pgAdmin 4 creare nuovo server, e l'ingresso come segue Host: 127.0.0.1 Port: 5432 Nome utente: utente Password: password123

  5. Poi tutto è ok, connettersi al successo dell'istanza postgante di docker.
+0

Questo funziona. Dovrebbe essere contrassegnato come risposta. – Tarik