2016-01-05 9 views
9

Ho bisogno di collegare il mio contenitore db con il mio contenitore del server. Ora ho solo rosso sul parametro eredità --link, che funziona perfettamenteDocker: qual è l'equivalente del parametro legacy --link

$> docker run -d -P --name rethinkdb1 rethinkdb 
$> docker run -d --link rethinkdb:db my-server 

Ma, se questo parametro verrà abbandonato alla fine, come dovrei fare qualcosa di simile di cui sopra?

+1

I documenti dicono che dovresti usare [questo] (https://docs.docker.com/engine/userguide/networking/). – jwodder

+0

grazie mille, penso di averlo capito ora. Se aggiungi due contenitori alla stessa rete, il loro file '/ etc/hosts' viene aggiornato automaticamente, giusto –

risposta

12

la documentazione dice di usare il comando docker network invece (che è disponibile dal Docker 1.9.0 - 2015/11/03)

Invece di

$> docker run -d -P --name rethinkdb rethinkdb 
$> docker run -d --link rethinkdb:rethinkdb my-server 

si utilizzeranno

$> docker network create --name my-network 
$> docker run -d -P --name rethinkdb1 --net=my-network rethinkdb 
$> docker run -d --net=my-network my-server 

Si noti che nel nuovo modulo vengono utilizzati i nomi dei contenitori, mentre prima era possibile definire un alias .

Quando due contenitori fanno parte della stessa rete, il loro file /etc/hosts viene aggiornato in modo che sia possibile utilizzare i nomi dei contenitori anziché i loro indirizzi IP.

Problemi correlati