Curso Docker

Redes en Docker

En Docker, las redes permiten que los contenedores se comuniquen entre sí, ya sea en la misma máquina o en diferentes máquinas dentro de un clúster. Las redes también ofrecen aislamiento, lo que significa que los contenedores pueden estar separados unos de otros en redes diferentes.

Docker ofrece varios tipos de redes:

  • Bridge (puente): Es la red predeterminada. Los contenedores conectados a esta red pueden comunicarse entre sí.
  • Host: El contenedor comparte la red de la máquina anfitriona.
  • None: No se asigna ninguna red al contenedor.
  • Redes personalizadas: Puedes crear redes personalizadas que se adapten a tus necesidades específicas.

Comandos para gestionar redes en Docker

1. docker network create <nombre_red>: Crear una red

Este comando crea una nueva red personalizada que puedes usar para conectar contenedores. Al crear una red personalizada, los contenedores que se conecten a ella podrán comunicarse entre sí usando sus nombres como si fueran direcciones IP.

Ejemplo:

1docker network create mi_red

Esto crea una red llamada mi_red a la que podrás conectar contenedores. Es útil para cuando tienes varios servicios (por ejemplo, una base de datos y una aplicación web) y quieres que se comuniquen directamente.


2. docker network ls: Listar redes

Con este comando puedes ver todas las redes disponibles en tu sistema Docker.

Ejemplo:

1docker network ls

Salida esperada:

NETWORK ID     NAME      DRIVER    SCOPE
d3f7c4ff1b8a   bridge    bridge    local
e4f3e4e5fdad   host      host      local
b85e0f4c3275   none      null      local
cf4577f83c19   mi_red    bridge    local

Aquí puedes ver:

  • Las redes predeterminadas: bridge, host y none.
  • La red personalizada que acabas de crear: mi_red, con el controlador bridge.

3. docker network rm <nombre_red>: Eliminar una red

Este comando elimina una red personalizada que ya no estés utilizando.

Ejemplo:

1docker network rm mi_red

Esto elimina la red mi_red. Si hay contenedores conectados a la red, Docker no permitirá eliminarla hasta que los contenedores sean desconectados o detenidos.


4. docker network inspect <nombre_red>: Obtener detalles de una red

Este comando proporciona información detallada sobre una red, incluyendo los contenedores conectados y la configuración de la red.

Ejemplo:

1docker network inspect mi_red

Salida esperada (resumida):

1[
2    {
3        "Name": "mi_red",
4        "Id": "cf4577f83c19",
5        "Driver": "bridge",
6        "Containers": {
7            "e4e3f1a2b0df": {
8                "Name": "mi_contenedor",
9                "IPv4Address": "172.18.0.2/16"
10            }
11        }
12    }
13]

Aquí ves información como:

  • El nombre de la red: mi_red.
  • El contenedor mi_contenedor que está conectado a esta red.
  • La dirección IP asignada al contenedor dentro de la red.

5. docker network connect <nombre_red> <nombre_contenedor>: Conectar un contenedor a una red

Este comando conecta un contenedor existente a una red. Puedes usarlo para conectar contenedores que ya están en ejecución o recién creados.

Ejemplo:

1docker network connect mi_red mi_contenedor

Esto conecta el contenedor mi_contenedor a la red mi_red. Ahora este contenedor podrá comunicarse con otros contenedores que también estén en la misma red.


6. docker network disconnect <nombre_red> <nombre_contenedor>: Desconectar un contenedor de una red

Este comando desconecta un contenedor de una red, lo que significa que el contenedor ya no podrá comunicarse con otros contenedores en esa red.

Ejemplo:

1docker network disconnect mi_red mi_contenedor

Esto desconecta el contenedor mi_contenedor de la red mi_red. Si el contenedor estaba utilizando esa red para comunicarse con otros servicios, ya no podrá hacerlo.


Resumen de los comandos

  • docker network create: Crea una red personalizada para conectar contenedores.
  • docker network ls: Lista todas las redes disponibles.
  • docker network rm: Elimina una red personalizada que ya no necesitas.
  • docker network inspect: Muestra detalles sobre una red, como los contenedores conectados y su configuración.
  • docker network connect: Conecta un contenedor a una red.
  • docker network disconnect: Desconecta un contenedor de una red.

Las redes en Docker son útiles para permitir que los contenedores se comuniquen entre sí de manera segura y eficiente. Con estos comandos, puedes gestionar redes, crear nuevas, conectar y desconectar contenedores, y obtener detalles sobre la configuración de las redes.

  • Loading...
  • Crea una red nueva llamada myNet en Docker

    Loading...
  • Conecta el contenedor mysql-server a la red myNet

    Loading...