Docker
Tutorial Docker: Redes Docker
Docker redes networks: configuración. Aprende a configurar redes en Docker para conectar contenedores con ejemplos prácticos y detallados.
Aprende Docker GRATIS y certifícateLas redes Docker facilitan la comunicación y el aislamiento entre contenedores, permitendo que los contenedores se comuniquen entre sí y con el mundo exterior de manera segura y eficiente.
Docker proporciona varios drivers de red que permiten diferentes tipos de comunicación, incluyendo redes puente, redes superpuestas, y redes de host, entre otras.
Creación de redes Docker
Para crear una red Docker, se utiliza el comando docker network create
.
Este comando permite especificar el tipo de red y una serie de opciones de configuración.
Por ejemplo, para crear una red de tipo puente, que es el tipo de red predeterminado y adecuado para la comunicación entre contenedores en el mismo host, se podría utilizar el siguiente comando:
docker network create --driver bridge mi_red_puente
Este comando crea una nueva red llamada mi_red_puente
utilizando el driver de red puente.
Tipos de redes
Docker ofrece varios drivers de red que permiten configurar diferentes tipos de comunicación y aislamiento entre contenedores, así como entre contenedores y el mundo exterior.
Bridge (Puente)
Es el driver de red predeterminado en Docker. Una red de tipo puente permite que los contenedores conectados a ella se comuniquen entre sí y también con el host. Es adecuado para aplicaciones en desarrollo y pruebas en un solo host donde la comunicación entre contenedores es necesaria, ya que proporciona aislamiento de red entre contenedores en diferentes redes puente.
docker network create --driver bridge mi_red_puente
Host
Este driver elimina el aislamiento de red entre los contenedores y el host, utilizando directamente la red del host. Los contenedores que usan este driver pueden acceder a la red como si se ejecutaran directamente en el host. Es útil cuando se necesita un rendimiento de red máximo o cuando se desea exponer directamente los puertos de los contenedores al host sin necesidad de mapeo de puertos. Pero debe tenerse en cuenta que no hay aislamiento de red; el contenedor comparte la red del host.
No es común ni necesario crear explícitamente redes de tipo host, ya que simplemente se especifica --network="host"
al ejecutar un contenedor para usar la red del host.
Overlay (Superpuesto)
Permite conectar múltiples Docker daemons y permite que los contenedores distribuidos entre diferentes hosts se comuniquen entre sí, creando una red distribuida entre múltiples hosts en un clúster de Docker. Es ideal para aplicaciones en producción distribuidas en múltiples hosts o desplegadas en un clúster de Docker Swarm. Proporciona aislamiento y comunicación segura entre contenedores en diferentes hosts.
docker network create --driver overlay mi_red_overlay
Macvlan
Permite asignar una dirección MAC a un contenedor, haciendo que aparezca como un dispositivo físico en la red. El contenedor tiene su propia dirección IP en la red física, lo que puede ser útil para casos donde se requiere que los contenedores se integren directamente en una red física existente. Proporciona un alto grado de integración con redes físicas existentes, pero puede ser más complejo de configurar.
docker network create --driver macvlan --subnet={subnet_ip}/24 --gateway={gateway_ip} -o parent=eth0 mi_red_macvlan
None
Este driver deshabilita la red para un contenedor. Es decir, el contenedor no tiene acceso a la red externa ni a otros contenedores. Se usa si un contenedor debe ejecutarse de forma aislada del resto del sistema. Ningún otro contenedor o servicio externo es accesible.
No es común ni necesario crear explícitamente redes de tipo none, ya que simplemente se especifica --network="none"
al ejecutar un contenedor para aislarlo de la red.
Gestión de redes Docker
Una vez creadas, las redes Docker se pueden gestionar utilizando varios comandos:
docker network ls
: Lista todas las redes disponibles en el sistema. Proporciona detalles como su ID, nombre y driver.docker network inspect {nombre_de_red}
: Proporciona información detallada sobre una red específica, incluyendo los contenedores que están conectados a ella y la configuración de IP.docker network rm {nombre_de_red}
: Elimina una red. Si la red se elimina con éxito, no habrá salida. Si la red está en uso o hay algún otro problema, Docker devolverá un mensaje de error explicando la razón.
Ejemplo:
Conexión de contenedor a red Docker
Para conectar un contenedor a una red, se utiliza el comando docker run
con la opción --network
, especificando el nombre de la red a la que se desea conectar el contenedor. Por ejemplo:
docker run -d --name mi_contenedor --network mi_red_puente mi_imagen
Este comando crea un contenedor llamado mi_contenedor
utilizando la imagen mi_imagen
y lo conecta a la red mi_red_puente
.
Ejercicios de esta lección Redes Docker
Evalúa tus conocimientos de esta lección Redes Docker con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Crear un archivo Docker Compose con un servicio
Crear un archivo Docker Compose con varios servicios
Descargar imágenes de hub.docker.com
Instalación de Docker
Introducción a Docker
Crear imagen Dockerfile
Creación de contenedores
Creación de volumen Docker
Crear y usar redes Docker
Todas las lecciones de Docker
Accede a todas las lecciones de Docker y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A Docker
Introducción Y Entorno Docker
Instalación De Docker
Introducción Y Entorno Docker
Descargar Imágenes De Hub.docker.com
Imágenes Docker
Crear Imágenes Con Dockerfile
Imágenes Docker
Contenedores Docker
Contenedores Docker
Volúmenes Docker
Volúmenes Docker
Redes Docker
Redes Docker
Creación De Archivos Docker Compose
Docker Compose
Docker Compose Para Varios Servicios
Docker Compose
Certificados de superación de Docker
Supera todos los ejercicios de programación del curso de Docker y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender el papel de las redes Docker en la comunicación y el aislamiento entre contenedores.
- Aprender a crear redes Docker utilizando diferentes drivers de red según las necesidades de comunicación.
- Saber cómo gestionar las redes Docker, incluyendo la inspección y eliminación de redes existentes.
- Aprender a conectar contenedores a una red Docker específica.