docker network connect
| Descripción | Conecta un contenedor a una red |
|---|---|
| Uso | docker 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ón | Predeterminado | Descripción |
|---|---|---|
--alias | Añade un alias con alcance de red para el contenedor | |
--driver-opt | Opciones del controlador (driver) para la red | |
--gw-priority | La prioridad de puerta de enlace (gw-priority) más alta proporciona la puerta de enlace por defecto. Acepta valores positivos y negativos. | |
--ip | | Dirección IPv4 (p. ej., 172.30.100.104) |
--ip6 | | Dirección IPv6 (p. ej., 2001:db8::33) |
--link | Añade un enlace a otro contenedor | |
--link-local-ip | Añ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
Usar la opción heredada --link (--link)
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
NoteLos 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.