No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Configurar redes básicas en Docker

13/19
Recursos

Aportes 7

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

`-p 8080:80` Asigna el puerto 8080 del host Docker al puerto TCP 80 del contenedor. `-p 192.168.1.100:8080:80` Asigna el puerto 8080 en el host Docker IP 192.168.1.100 al puerto TCP 80 en el contenedor. `-p 8080:80/udp` Asigna el puerto 8080 del host Docker al puerto UDP 80 del contenedor. `-p 8080:80/tcp -p 8080:80/udp` Asigna el puerto TCP 8080 en el host Docker al puerto TCP 80 en el contenedor, y asigna el puerto UDP 8080 en el host Docker al puerto UDP 80 en el contenedor.
### Controladores de Red en Docker 1. **bridge (puente)**: * **Descripción**: El controlador de red predeterminado. * **Explicación**: Cuando creas un contenedor y no especificas un controlador de red, Docker usa el controlador de red `bridge` por defecto. Este tipo de red crea una red de puente privado dentro de Docker. Los contenedores en esta red pueden comunicarse entre sí, y puedes exponer puertos específicos para permitir la comunicación con el mundo exterior. 2. **host (anfitrión)**: * **Descripción**: Elimina el aislamiento de red entre el contenedor y el host de Docker. * **Explicación**: Utilizar el controlador de red `host` permite que un contenedor comparta directamente la pila de red del host. Esto significa que el contenedor tendrá acceso directo a la red del host, sin aislamiento. Es útil para aplicaciones que necesitan el máximo rendimiento de red y no requieren aislamiento. 3. **none (ninguno)**: * **Descripción**: Aislar completamente un contenedor del host y otros contenedores. * **Explicación**: El controlador de red `none` crea un contenedor sin ninguna red. Esto significa que el contenedor no tendrá acceso a ninguna red y no podrá comunicarse con el host ni con otros contenedores. Es útil para casos donde se desea un aislamiento completo. 4. **overlay (superposición)**: * **Descripción**: Las redes de superposición conectan varios demonios de Docker juntos. * **Explicación**: El controlador de red `overlay` se utiliza para conectar contenedores que están en diferentes hosts de Docker, creando una red distribuida. Es útil en configuraciones de clúster, como Docker Swarm, donde los contenedores pueden necesitar comunicarse entre múltiples nodos. 5. **ipvlan**: * **Descripción**: Las redes IPvlan proporcionan control total sobre la dirección tanto IPv4 como IPv6. * **Explicación**: El controlador de red `ipvlan` permite a los usuarios configurar las direcciones IP directamente en los contenedores. Proporciona un control más preciso sobre el direccionamiento de red IPv4 e IPv6 y puede ser útil en entornos donde se requiere una administración avanzada de direcciones IP. 6. **macvlan**: * **Descripción**: Asignar una dirección MAC a un contenedor. * **Explicación**: El controlador de red `macvlan` permite asignar una dirección MAC a un contenedor, haciendo que el contenedor aparezca como un dispositivo de red físico en la red. Esto es útil en entornos donde se necesita una separación completa de la red, similar a dispositivos físicos separados. ### Resumen Estos controladores de red ofrecen diferentes niveles de aislamiento y conectividad para los contenedores de Docker, desde una red privada simple (bridge) hasta redes más avanzadas que permiten configuraciones distribuidas y administración avanzada de direcciones IP (overlay, ipvlan, macvlan). La elección del controlador de red depende de los requisitos específicos de la aplicación y del entorno en el que se ejecutan los contenedores.
Me preguntaba como podría integrar varias APIs en un mismo proyecto y ya todo va dando forma, aunque tengo algunas dudas de como integrar varias redes para distintos usos... pero hay que tener unas consideraciones en cuenta si se va a usar bridge. ### Usar un bridge network: * **Ventajas**: * Facilita la comunicación entre las diferentes APIs, ya que todos los contenedores están en la misma red y pueden comunicarse entre sí utilizando los nombres de los contenedores. * Simplifica la gestión de red, ya que todos los contenedores comparten la misma configuración de red. * **Desventajas**: * Si una de las APIs tiene un problema de seguridad, todos los contenedores en la red pueden estar en riesgo. * Puede haber conflictos de puertos si varias APIs intentan utilizar el mismo puerto en el host. ### Consideraciones adicionales: * **Seguridad**: Si la seguridad es una preocupación, puedes considerar la segmentación de red utilizando redes virtuales separadas para diferentes grupos de APIs. Por ejemplo, puedes crear una red para APIs relacionadas con la autenticación y otra red para APIs relacionadas con el manejo de productos. * **Escalabilidad**: Si esperas un alto tráfico en alguna de tus APIs, puede ser útil escalarla independientemente de las demás. En este caso, puedes considerar la separación de las APIs en diferentes entornos o clústeres de Docker. * **Gestión de recursos**: Dependiendo de los recursos disponibles en tu infraestructura y de los requisitos de cada API, puede ser útil asignar recursos específicos (CPU, memoria) a cada contenedor. Esto puede ser más fácil de gestionar si las APIs están en redes separadas. * **Monitorización y gestión**: Si necesitas monitorizar y gestionar el rendimiento de cada API por separado, puede ser útil tenerlas en redes separadas para facilitar la monitorización y la gestión. En resumen, utilizar un bridge network para desplegar varias APIs en Docker puede ser una opción viable, especialmente si las APIs están estrechamente relacionadas y comparten recursos. Sin embargo, es importante considerar otros factores como la seguridad, la escalabilidad y la gestión de recursos al decidir cómo organizar tus APIs en contenedores Docker. Fuente de ChatGPT
no me quedo claro este tema
Conectividad ![](https://static.platzi.com/media/user_upload/Screenshot%202024-04-06%20164609-4e0a101e-7aad-4403-b0d4-84c2b4ff7848.jpg)
**Comandos para administrar las redes:** `docker network COMMAND` COMMANDS: * connect Conectar un contenedor a una red * create Crear una red * disconnect Desconectar un contenedor de una red * inspect Muestra información detallada de una o mas redes * ls Listado de redes * prune Eliminar todas las redes en desuso * rm Eliminar una o más redes
**¿Para qué se usan redes en Docker?** 1. Comunicación entre contenedores. 2. Comunicación entre contenedores y el host. 3. Exposición de servicios a redes externas. (ejemplo una API o un sitio web) 4. Aislamiento de redes. (limitar el acceso y mejorar la seguridad)