es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El host no puede comunicarse con la aplicación que se encuentra ejecutándose dentro del contenedor LXC.

Estoy ejecutando mi máquina personal con Ubuntu 18.04 y múltiples contenedores lxc. Cada contenedor también tiene Ubuntu 18.04. En cada contenedor estoy ejecutando una aplicación que ofrece una interfaz de usuario en https://localhost:3000/. Dado que cada contenedor tiene una dirección IP local en mi red, debería poder llamar a la interfaz de usuario de la aplicación en mi máquina de host utilizando https://:3000/.

Esto no funciona. Si ejecuto Apache2 dentro de los contenedores, puedo ver la página predeterminada para http:// pero no puedo ver nada en la otra aplicación que se está ejecutando en el puerto 3000. Puedo confirmar que la aplicación en el puerto 3000 está funcionando.

user@pc:~$ nc -zv 10.155.120.175 22
¡Conexión a 10.155.120.175 puerto 22 [tcp/ssh] realizada con éxito!
user@pc:~$ nc -zv 10.155.120.175 3000
nc: falló la conexión a 10.155.120.175 puerto 3000 (tcp): Conexión rechazada

También noté que los registros de la aplicación dentro de la VM contenían esta línea, pero no sé lo que significa en el contexto de la salud de la aplicación.

17 de noviembre 20:38:49 server systemd[1]: app.service: No se pudo restablecer devices.list: Operación no permitida

¿Cómo puedo permitir el acceso ip:puerto entre host y lxc vm (y entre lxc vms)? Quiero que mis instancias lxc puedan comunicarse entre sí y con mi máquina principal, compartir datos, etc. Pero ni siquiera puedo abrir la IU de una aplicación que se está ejecutando dentro de un contenedor en mi navegador.

Edición:

Cuando habilito ufw en el contenedor, ni siquiera se abre la página web predeterminada de apache2. Una vez que desactivo ufw en el contenedor, la página de apache2 vuelve a ser accesible a través de .

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que necesitas configurar la configuración de tu firewall para permitir el acceso a la aplicación que se ejecuta en el puerto 3000. Puedes usar ufw para configurar el firewall en tu máquina Ubuntu. Para permitir el acceso al puerto 3000, puedes ejecutar el siguiente comando:


    sudo ufw allow 3000/tcp

    Es posible que también necesites configurar la configuración del firewall en los contenedores LXC para permitir el acceso al puerto 3000. Para hacer esto, puedes ejecutar el siguiente comando en cada contenedor:


    sudo ufw allow 3000/tcp

    Una vez que hayas configurado la configuración del firewall, deberías poder acceder a la IU de la aplicación en tu máquina host mediante https://:3000/.

Comments are closed.