2014-12-27 11 views
5

Sto cercando postini di docker seguendo l'immagine postgres ufficiale su https://registry.hub.docker.com/_/postgres/.

Nel documento si eseguire i seguenti comandi e farlo funzionare:

docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres 
docker run -it --link some-postgres:postgres --rm postgres sh -c 'exec psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U postgres' 

Quindi la mia domanda è: da dove $ POSTGRES_PORT_5432_TCP_PORT e $ POSTGRES_PORT_5432_TCP_ADDR vengono?

risposta

7

Sono resi disponibili per il secondo contenitore che si avvia tramite i meccanismi di collegamento Docker.

Da https://docs.docker.com/userguide/dockerlinks/#environment-variables:

Quando due contenitori siano collegati, Docker imposterà qualche ambiente variabili nel contenitore di destinazione per abilitare l'individuazione di programmazione di informazioni relative al contenitore sorgente.

...

Il modello seguito è:
...

  • PORT __ADDR conterrà solo l'indirizzo IP dal URL (ad esempio WEBDB_PORT_8080_TCP_ADDR = 172.17.0.82).
  • PORT __PORT conterrà solo il numero di porta dall'URL (ad esempio WEBDB_PORT_8080_TCP_PORT = 8080).
+0

Questo ha senso, grazie mille. – Ron

Problemi correlati