# docker swarm join

**Descripción:** Se une a un swarm como nodo y/u orquestador/administrador

**Uso:** `docker swarm join [OPTIONS] HOST:PORT`








**Orquestador:** Swarm

## Descripción

Une un nodo a un swarm. El nodo se une como un nodo administrador (manager) o un nodo trabajador (worker) según el token que pases con la opción `--token`. Si pasas un token de administrador, el nodo se une como administrador. Si pasas un token de trabajador, el nodo se une como trabajador.


## Opciones

| Opción                                                        | Predeterminado                                        | Descripción                                                                                                                                    |
| ------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|  | `--advertise-addr` |  |  Dirección anunciada (formato: `<ip|interfaz>[:puerto]`) |

 | `--availability` | `active` |  Disponibilidad del nodo (`active`, `pause`, `drain`) |

 | `--data-path-addr` |  | API 1.31+ Dirección o interfaz a utilizar para el tráfico de datos (formato: `<ip|interfaz>`)<br> |

 | `--listen-addr` | `0.0.0.0:2377` |  Dirección de escucha (formato: `<ip|interfaz>[:puerto]`) |

 | `--token` |  |  Token de acceso al swarm |




## Ejemplos

### Unir un nodo al swarm como administrador

El siguiente ejemplo muestra cómo unir un nodo administrador utilizando un token de administrador.

```console
$ docker swarm join --token SWMTKN-1-aabbccdd00112233aabbccdd00112233aabbccdd00112233aa-aabbccdd00112233... 192.168.99.121:2377
This node joined a swarm as a manager.

$ docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
dkp8vy1dq1kxleu9g4u78tlag *  manager2  Ready   Active        Reachable
dvfxp4zseq4s0rih1selh0d20    manager1  Ready   Active        Leader
```

Un clúster debe tener un máximo de 3 a 7 administradores, ya que la mayoría de ellos debe estar disponible para que el clúster funcione. Los nodos que no participen en este quórum de administración deben unirse como trabajadores. Los administradores deben ser hosts estables con direcciones IP estáticas.

### Unir un nodo al swarm como trabajador

El siguiente ejemplo muestra cómo unir un nodo trabajador utilizando un token de trabajador.

```console
$ docker swarm join --token SWMTKN-1-aabbccdd00112233aabbccdd00112233aabbccdd00112233aa-aabbccdd00112233... 192.168.99.121:2377
This node joined a swarm as a worker.

$ docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
7ln70fl22uw2dvjn2ft53m3q5    worker2   Ready   Active
dkp8vy1dq1kxleu9g4u78tlag    worker1   Ready   Active        Reachable
dvfxp4zseq4s0rih1selh0d20 *  manager1  Ready   Active        Leader
```

### Valor de --listen-addr {#listen-addr}

Si el nodo es un administrador, escuchará el tráfico entrante del administrador de swarm en esta dirección. El valor predeterminado es escuchar en 0.0.0.0:2377. También es posible especificar una interfaz de red para escuchar en la dirección de esa interfaz; por ejemplo, `--listen-addr eth0:2377`.

Especificar un puerto es opcional. Si el valor es una dirección IP simple o un nombre de interfaz, se utilizará el puerto predeterminado 2377.

Por lo general, esta opción no es necesaria al unirse a un swarm existente.

### Valor de --advertise-addr {#advertise-addr}

Esta opción especifica la dirección que se anunciará a otros miembros del swarm para el acceso a la API. Si no se especifica, Docker comprobará si el sistema tiene una única dirección IP y la utilizará junto con el puerto de escucha (consulta `--listen-addr`). Si el sistema tiene múltiples direcciones IP, se debe especificar `--advertise-addr` para elegir la dirección correcta para la comunicación entre administradores y la red superpuesta (overlay).

También es posible especificar una interfaz de red para anunciar la dirección de esa interfaz; por ejemplo, `--advertise-addr eth0:2377`.

Especificar un puerto es opcional. Si el valor es una dirección IP simple o un nombre de interfaz, se utilizará el puerto predeterminado 2377.

Por lo general, esta opción no es necesaria al unirse a un swarm existente. Si vas a unir nuevos nodos a través de un equilibrador de carga, debes utilizar esta opción para asegurarte de que el nodo anuncie su propia dirección IP y no la del equilibrador de carga.

### `--data-path-addr` {#data-path-addr}

Esta opción especifica la dirección que los controladores de red de alcance global publicarán hacia otros nodos para llegar a los contenedores que se ejecutan en este nodo. Al usar este parámetro, es posible separar el tráfico de datos del contenedor del tráfico de administración del clúster. Si no se especifica, Docker utilizará la misma dirección IP o interfaz configurada para la dirección anunciada.

### Cadena --token {#token}

Valor secreto requerido para que los nodos se unan al swarm

### `--availability` {#availability}

Esta opción especifica la disponibilidad del nodo en el momento en que se une a un nodo maestro. Los valores posibles son `active`, `pause` o `drain`.

Esta opción es útil en ciertas situaciones. Por ejemplo, es posible que un clúster prefiera tener nodos administradores dedicados que no actúen como nodos trabajadores. Esto se puede lograr pasando `--availability=drain` a `docker swarm join`.



