Desde el host local de Docker se usa el puerto publicado del host; desde otro contenedor en una red compartida se usa el nombre del servicio y el puerto target del contenedor. En el ejemplo integrado de puertos distintos, database declara ports: 15432:5432 sin una dirección de enlace del host, y api y database comparten la red default. Desde api, la dirección candidata es database:5432; desde el host local de Docker, es localhost:15432. Son direcciones deducidas de este ejemplo, no conexiones probadas.
Entre servicios distintos, el inspector solo propone una dirección con el nombre del servicio si ambos comparten una red admitida. Dentro de un contenedor, localhost apunta al propio contenedor. Cada resultado muestra rutas de configuración, como services.database.ports[0] y las redes del origen y del destino; un puerto de escucha introducido a mano se identifica como manual. Si las redes declaradas no coinciden, el resultado indica que no hay una red declarada compartida. No descarta todas las demás rutas ni prueba la red real de Docker.
La herramienta analiza un único documento Compose YAML en tu navegador. No inicia Docker, ejecuta curl ni prueba conexiones reales. El límite es 1 MiB (1.048.576 bytes UTF-8), 100 servicios y 500 entradas entre ports y expose. Las variables sin resolver, los rangos de puertos, las redes externas, network_mode, include y otras configuraciones no admitidas dan un resultado no admitido o indeterminado, sin hacer suposiciones. El análisis no demuestra que la aplicación esté ejecutándose o escuchando.
Preguntas y respuestas frecuentes sobre este tema.
Depende del origen. En el ejemplo integrado, database declara 15432:5432 sin una dirección de enlace del host, y api y database comparten la red default. Desde el host local de Docker, la dirección candidata es localhost:15432 con el puerto publicado. Desde api, es database:5432 con el nombre del servicio y el puerto target del contenedor. Otros enlaces o redes pueden cambiar el resultado; ninguna dirección demuestra que haya conexión.
Dentro de un contenedor, localhost apunta al propio contenedor, no a otro servicio ni al host de Docker. Puede ser adecuado si el origen y el destino están en el mismo contenedor. Para acceder a otro servicio en una red compartida admitida, usa su nombre y el puerto target del contenedor, como database:5432 en el ejemplo integrado. La herramienta señala esta discrepancia de configuración sin probar si la aplicación acepta conexiones.
expose por sí solo no publica un puerto en el host. Una entrada ports con un valor published fijo permite deducir una dirección candidata fija del host. Sin ese valor, el YAML no determina un puerto fijo; Docker puede asignarlo dinámicamente al ejecutar los servicios. Puedes consultarlo con docker compose port. Los servicios de una red compartida no necesitan expose para conectarse. Si no hay un puerto declarado, introduce el puerto TCP de escucha que hayas verificado; no se deduce de la imagen.
En el modelo de configuración admitido, el origen y el destino no tienen ninguna red declarada en común, por lo que no se puede proponer una dirección directa con el nombre del servicio. Si se omite networks o se usa una colección vacía, Compose utiliza la red default. El resultado separate no demuestra que todas las rutas posibles estén bloqueadas ni es una prueba completa de conectividad. Revisa las rutas de configuración indicadas y cualquier otra ruta configurada explícitamente.
No. La coincidencia solo indica que el nombre del host y el puerto introducidos coinciden con la dirección deducida de la configuración. La herramienta no comprueba el inicio de la aplicación, las interfaces o puertos de escucha, el manejo del protocolo, los cortafuegos ni la autenticación. Tampoco inicia Docker ni envía solicitudes de red al servicio. Verifica esas condiciones de ejecución por separado antes de dar por hecho que el servicio es accesible.
El inspector trabaja con un único documento Compose YAML analizado y un conjunto limitado de configuraciones de redes bridge normales y puertos; no admite todas las funciones de Compose. No resuelve variables, rangos de puertos, include, redes externas, profiles ni network_mode. Si afectan a la ruta seleccionada, muestra un resultado indeterminado o no admitido en vez de inventar una dirección. Puedes ejecutar docker compose config para resolver variables y consolidar archivos antes de pegar el YAML resultante. Las dependencias de ejecución y las configuraciones aún no admitidas requieren comprobaciones aparte.