Ir al contenido

Conceptos 02 - Diseño básico de topologías de red

Criterios para definir qué servicios deben ser accesibles desde fuera de la red de Docker y cómo segmentar la comunicación entre contenedores. Recorra cada sección para ver diagramas y ejemplos.

  • 4 secciones
  • 4 elementos interactivos
  • Autoevaluación final

Concepto 1 de 4

Servicio público y servicio interno

Distinguir entre servicios que reciben tráfico externo y servicios cuyo consumo está restringido a otros contenedores.

Servicio público

Publica puertos

Recibe tráfico desde fuera de la red interna de Docker. Requiere la publicación de puertos. Ejemplos: frontend web, Adminer, API pública.

Origen del tráfico
Desde fuera de la red interna de Docker
Publicación de puertos
Requerida
Ejemplos
Frontend web, Adminer, API pública

Servicio interno

Sin puertos

Consumido exclusivamente por otros contenedores de la misma aplicación. No necesita publicar puertos ni ser accesible desde el host. Ejemplos: base de datos, caché, worker.

Origen del tráfico
Otros contenedores de la misma aplicación
Publicación de puertos
No necesaria
Ejemplos
Base de datos, caché, worker

Concepto 2 de 4

Criterio para decidir qué puertos publicar

La decisión parte de una pregunta central: qué actor necesita acceder a ese servicio.

Elige el actor que necesita acceder al servicio y observa qué decisión corresponde.

Frontend web, Adminer u otras herramientas de administración accedidas desde el browser.

Decisión Publicar el puerto

El navegador está fuera de la red de Docker: solo llega al servicio a través de un puerto publicado en el host.

web:
  ports:
    - "80:80"

Concepto 3 de 4

Ejemplo de segmentación con redes

Topología con un único punto de entrada público y servicios internos aislados del acceso externo.

services:
web:
ports:
- "80:80" # único punto de entrada
networks:
- frontend
api:
# no publica puertos
networks:
- frontend
- backend
db:
# no publica puertos
networks:
- backend
redis:
# no publica puertos
networks:
- backend
networks:
frontend:
backend:

Elige un origen y un destino para comprobar qué comunicaciones permite esta topología.

Concepto 4 de 4

Patrón de decisión resumido

Tres preguntas para definir la posición de cada servicio en la topología.

¿Quién consume este servicio?

Si solo otros contenedores, no publique puertos. Si actores externos, publique.

¿Con qué otros servicios necesita comunicarse?

Coloque en la misma red solo los servicios que deben intercambiar datos.

¿Se beneficia de estar aislado?

Bases de datos y servicios de caché suelen pertenecer a una red interna separada del frontend.

Autoevaluación

Comprueba lo que aprendiste

Cuatro preguntas rápidas para verificar las ideas clave de la lectura. Cada respuesta incluye una explicación.

  1. 1Una base de datos solo es consumida por la API de la misma aplicación. ¿Qué corresponde?
  2. 2¿Qué pregunta guía la decisión de publicar un puerto?
  3. 3En la topología de ejemplo, ¿por qué web no puede comunicarse directamente con db?
  4. 4¿Qué beneficio principal aporta aplicar el patrón de decisión de forma sistemática?

0/4 respuestas correctas