Compartir comentarios
Las respuestas se generan en base a la documentación.

docker network connect

DescripciónConecta un contenedor a una red
Usodocker network connect [OPTIONS] NETWORK CONTAINER

Descripción

Conecta un contenedor a una red. Puedes conectar un contenedor por nombre o por ID. Una vez conectado, el contenedor puede comunicarse con otros contenedores en la misma red.

Opciones

OpciónPredeterminadoDescripción
--aliasAñade un alias con alcance de red para el contenedor
--driver-optOpciones del controlador (driver) para la red
--gw-priorityLa prioridad de puerta de enlace (gw-priority) más alta proporciona la puerta de enlace por defecto. Acepta valores positivos y negativos.
--ipDirección IPv4 (p. ej., 172.30.100.104)
--ip6Dirección IPv6 (p. ej., 2001:db8::33)
--linkAñade un enlace a otro contenedor
--link-local-ipAñade una dirección de enlace local para el contenedor

Ejemplos

Conectar un contenedor en ejecución a una red

$ docker network connect multi-host-network container1

Conectar un contenedor a una red cuando se inicia

También puedes usar la opción docker run --network=<nombre-red> para iniciar un contenedor y conectarlo inmediatamente a una red.

$ docker run -itd --network=multi-host-network busybox

Especificar la dirección IP que usará un contenedor en una red dada (--ip)

Puedes especificar la dirección IP que deseas asignar a la interfaz del contenedor.

$ docker network connect --ip 10.10.36.122 multi-host-network container2

Puedes usar la opción --link para enlazar otro contenedor con un alias preferido.

$ docker network connect --link container1:c1 multi-host-network container2

Crear un alias de red para un contenedor (--alias)

La opción --alias se puede usar para resolver el contenedor por otro nombre en la red a la que se está conectando.

$ docker network connect --alias db --alias mysql multi-host-network container2

Establecer sysctls para la interfaz de un contenedor (--driver-opt)

Los ajustes sysctl que comienzan con net.ipv4. y net.ipv6. se pueden establecer por interfaz usando la etiqueta de --driver-opt com.docker.network.endpoint.sysctls. El nombre de la interfaz debe reemplazarse por IFNAME.

Para establecer más de un sysctl para una interfaz, encierra entre comillas todo el valor del campo driver-opt, recordando escapar las comillas para el shell si es necesario. Por ejemplo, si a la interfaz de my-net se le asigna el nombre eth3, el siguiente ejemplo establece net.ipv4.conf.eth3.log_martians=1 and net.ipv4.conf.eth3.forwarding=0.

$ docker network connect --driver-opt=\"com.docker.network.endpoint.sysctls=net.ipv4.conf.IFNAME.log_martians=1,net.ipv4.conf.IFNAME.forwarding=0\" multi-host-network container2
Note

Los controladores de red pueden restringir los ajustes de sysctl que se pueden modificar y, para proteger el funcionamiento de la red, es posible que se agreguen nuevas restricciones en el futuro.

Implicaciones de red al detener, pausar o reiniciar contenedores

Puedes pausar, reiniciar y detener contenedores que están conectados a una red. Un contenedor se conecta a sus redes configuradas cuando se ejecuta.

Si se especifica, la(s) dirección(es) IP del contenedor se vuelve(n) a aplicar cuando un contenedor detenido se reinicia. Si la dirección IP ya no está disponible, el contenedor no se iniciará. Una forma de garantizar que la dirección IP esté disponible es especificar un --ip-range al crear la red y elegir la(s) dirección(es) IP estática(s) fuera de ese rango. Esto garantiza que la dirección IP no se asigne a otro contenedor mientras este contenedor no esté en la red.

$ docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 multi-host-network
$ docker network connect --ip 172.20.128.2 multi-host-network container2

Para verificar que el contenedor está conectado, usa el comando docker network inspect. Usa docker network disconnect para desconectar un contenedor de la red.

Una vez conectados a la red, los contenedores pueden comunicarse utilizando únicamente la dirección IP o el nombre de otro contenedor. Para redes overlay o complementos (plugins) personalizados que admiten conectividad multi-host, los contenedores conectados a la misma red multi-host pero lanzados desde diferentes motores (Engines) también pueden comunicarse de esta manera.

Puedes conectar un contenedor a una o más redes. No es necesario que las redes sean del mismo tipo. Por ejemplo, puedes conectar un solo contenedor a redes bridge y overlay.