
En la mayoría de las casas u oficinas, los routers asignan IPs del rango 192.168.x.x o 10.0.x.x
Las IPs 172.17.x.x SÍ son privadas (pero poco populares)
el estándar de redes (RFC 1918) reserva tres rangos para redes privadas sin acceso directo desde internet:
10.0.0.0a10.255.255.255172.16.0.0a172.31.255.255(el rango que elige Docker)192.168.0.0a192.168.255.255
Docker usa por defecto la subred 172.17.0.0/16 para su red bridge
No es alcanzable desde otra computadora de tu casa (a menos que expongas puertos con -p)
Existe únicamente dentro de la interfaz virtual docker0 de la máquina donde corre el motor de Docker

para hablar desde un contenedor hacia tu sistema host real, no podés usar localhost ni la IP física directamente sin recurrir a nombres especiales como host.docker.internal
osea de un contenedor A q no expone sus puertos me puedo comunicar con un puerto del host anfitrion?
Sí. Exponer o mapear puertos (con -p o EXPOSE) solo es necesario para el tráfico entrante (de afuera hacia el contenedor). El tráfico saliente (del contenedor hacia afuera, ya sea internet o tu propia PC anfitriona) funciona por defecto sin configurar ningún puerto.
- La forma recomendada:
host.docker.internal- Docker incluye un nombre de dominio especial que apunta directamente a la IP del host anfitrión: