# 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.<br> |

 | `--ip` | `<nil>` |  Dirección IPv4 (p. ej., `172.30.100.104`) |

 | `--ip6` | `<nil>` |  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

```console
$ 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.

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

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

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

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

### Usar la opción heredada `--link` (--link) {#link}

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

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

### Crear un alias de red para un contenedor (--alias) {#alias}

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

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

### Establecer sysctls para la interfaz de un contenedor (--driver-opt) {#sysctl}

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`.

```console
$ 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.

```console
$ docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 multi-host-network
```

```console
$ 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.



