systemadmin.es > Virtualización > Link entre contenedores docker

Link entre contenedores docker

En caso que tengamos contenedores docker con servicios, por ejemplo docker-activemq y necesitamos crear otros contenedores que necesitan dichos servicios podemos crear links entre contenedores

Por ejemplo, docker-mco espera que el ActiveMQ a conestarse use el hostname activemq, tal y como podemos ver en el script de desplegado de mco:

(...)

cat <%lt;EOF >/tmp/manifest.pp
class { 'mcollective':
  password => '${EYP_ACTIVEMQ_ADMIN_PASSWORD-Y2F0YWx1bnlhbGxpdXJlCg}',
  psk => '${EYP_MCOLLECTIVE_PSK-UgbmV3IG1haWwgaW4gL3Zhci9z}',
  hostname => 'activemq',
  agent=>false,
  client=>true,
}
EOF

(...)

Mediante la opción –link de docker podemos definir dicha conexión entre contenedores. Deberemos pasar como opciones primero el nombre del contenedor y opcionalmente un alias. En este caso, como que espera que el hostname sea activemq, lo usaremos como alias:

# docker run -i --link activemq8141:activemq -t eyp/mco mco ping
tomcat3.uat.systemadmin.es                time=132.67 ms
(...)

---- ping statistics ----
30 replies max: 162.44 min: 132.67 avg: 146.21 

Esto lo que acaba creando es una entrada en el /etc/hosts el contenedor que acabamos de crear para que se comunique con el contenedor que le hemos indicado:

# docker run -i --link activemq8141:activemq -t eyp/mco grep active /etc/hosts
172.17.4.175	activemq 7423d9b9c766 activemq8141
172.17.4.175	activemq8141.bridge
172.17.4.175	activemq8141

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>