Saltar a contenido

Redes

Cuando hay que conectar varios contenedores interdependientes conviene usar las redes (networks). Estas son alternativas al port mapping que no necesitan configuración de puertos para funcionar.

Administrar redes

Listar redes

Enumera las redes ya existentes:

Redes - listar
docker network ls
Redes - listar
podman network ls

Crear red

Crea una nueva red del tipo bridge (puente) con el nombre especificado:

Redes - crear
docker network create nombre_red
Redes - crear
podman network create nombre_red

Eliminar red

Elimina la red indicada:

Redes - eliminar
docker network rm nombre_red
Redes - eliminar
podman network rm nombre_red

Contenedores conectados

Al crear un contenedor nuevo se pueden incluir las opciones:

  • --network : especifica el nombre de red preexistente a conectar;
  • --network-alias: funciona como un apuntador de la red al contenedor destino de la red (opcional).

Sintaxis

La red puente se agrega como una opción más:

Contenedores - conectados a red
docker create   --network nombre_red  --name nombre_contenedor  nombre_imagen
Contenedores - conectados a red
podman create   --network nombre_red   --name nombre_contenedor  nombre_imagen

Redes preexistentes

Para que la comunicación entre contenedores funcione es necesario que las redes que estos utilizan hayan sido creadas previamente.

Inspección

Las redes se inspeccionan con el comando dig:

Inspección de redes
dig nombre-red
dig  alias-red

El resultado es un informe de las direcciones IP, puertos,tipo de socket, etc. que usan los contenedores.

DNS en networks

Las networks que usan los gestores de contenedores hacen uso de su propio servicio DNS (Name Domain Server) interno para completar las conexiones entre los contenedores. Por eso no se especifican IPs ni puertos al incluirlas.

Referencias

Repositorio ofical de Podman - Networking básico

Docker Docs - Bridge network driver