Tengo una aplicación de nodo dockerizada que se ejecuta dentro de un contenedor en un ubuntu-vm-host con dirección estática, pero solo puedo acceder a ella a través de localhost. Uso el comando: sudo docker run -d -p 49160:3000 8a5ccd9f4cca para iniciar la aplicación. Puedo acceder a los servidores de nodos en ejecución en la máquina virtual sin ningún problema cuando se ejecutan en la máquina virtual sin la ventana acoplable. Cuando curvo http://localhost:49160/test obtengo una respuesta. pero si trato de cambiarlo a curl http://"dirección IP correcta":49160/prueba, no funciona.
El puerto de reenvío aparece cuando i netstat -l dentro de ubuntu-vm-host. Si lo hago:
curl http://172.17.0.1:49160/testque es la dirección inet de la interfaz de red docker0, pasa.
Perdón por la irresponsable respuesta anterior. Para depurar el problema
ACTUALIZADO
Primero para ver si la aplicación funciona correctamente, intente,
docker logs <container id>
si toda la salida de la consola que normalmente imprimes está ahí,
Escenario 1 : si no es así , ejecute la ventana acoplable con el indicador -it en lugar de -d, inicie manualmente el proceso y verifique con un curl para depurar.
docker run -it -p 49160:3000 <image id> /bin/bashEscenario 2 : si se está ejecutando , verifique si el firewall interno de ubuntu está habilitado usando lo siguiente, si es así, si no lo necesita, desactívelo.
sudo ufw status para deshabilitar: sudo ufw disable para permitir: sudo ufw allow 49160