#354 · Herramienta para desarrolladores

Mapeador de puertos Docker Compose

Analiza asignaciones de puertos de Docker Compose y crea una tabla host → contenedor con protocolo, IP de enlace y posibles colisiones. Admite la sintaxis corta habitual, incluyendo rangos simples y sufijos `/tcp` o `/udp`.

Datos de entrada

Bloque `ports` de Compose
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega o carga la entrada indicada.
  2. Ajusta las opciones disponibles, si las hay.
  3. Pulsa el botón principal o usa Ctrl/Cmd + Enter.
  4. Revisa el resumen, la interpretación y las métricas antes de copiar o descargar.

Qué hace esta herramienta para desarrolladores

Busca líneas con forma `HOST:CONTAINER`, `IP:HOST:CONTAINER` o `CONTAINER` y separa el protocolo. Cuando hay un puerto de host explícito, comprueba si aparece más de una vez.

Busca líneas con forma `HOST:CONTAINER`, `IP:HOST:CONTAINER` o `CONTAINER` y separa el protocolo. Cuando hay un puerto de host explícito, comprueba si aparece más de una vez.

La forma larga de Compose y expresiones interpoladas complejas pueden requerir revisión manual.

Ejemplo

*:8080 → 80/tcp 127.0.0.1:8443 → 443/tcp *:5353 → 53/udp

Casos de uso

  • Auditar puertos publicados.
  • Documentar accesos locales.
  • Buscar colisiones antes de arrancar varios stacks.

Consejos para obtener resultados fiables

  • Expón solo los puertos necesarios.
  • Usa `127.0.0.1` cuando un servicio no deba ser público.
  • Distingue TCP y UDP al buscar colisiones.
  • Confirma la forma larga con Compose si tu archivo la utiliza.

Detalles del procesamiento

Las líneas compatibles se descomponen en dirección de host, puerto publicado, puerto de contenedor y protocolo. La clave host/puerto/protocolo se usa para detectar repeticiones.

No simula reglas de red, NAT, rangos avanzados ni asignaciones dinámicas realizadas por Docker.

Preguntas frecuentes

¿Cómo interpretar `8080:80` en Docker Compose?

El primer puerto es el publicado en el host y el segundo es el puerto del contenedor; el protocolo es TCP si no se indica otro.

¿Qué significa `127.0.0.1:8080:80` en `ports`?

El puerto 8080 se enlaza solo a la interfaz 127.0.0.1 del host y se dirige al puerto 80 del contenedor.

¿Puede detectar dos servicios usando el mismo puerto del host?

Sí, cuando las asignaciones aparecen en sintaxis corta y contienen un puerto de host explícito. Los valores interpolados pueden impedir una detección segura.

¿Se reconocen puertos UDP en Docker Compose?

Sí. Un sufijo como `/udp` se separa y se incluye en la salida; sin sufijo se asume TCP.

¿Qué pasa con la sintaxis larga de `ports`?

La herramienta se centra en la sintaxis corta. Para objetos con `target`, `published`, `host_ip` y `protocol`, conviene revisar el YAML completo o usar `docker compose config`.

Resumen del módulo

CampoValor
Número354
CategoríaDevOps y contenedores
Slugdocker-compose-port-mapper