Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

353
Vistas
Ejecutar múltiples instancias diferentes de node.js dentro de un contenedor docker

Un equipo y yo hemos tenido la tarea de crear una aplicación que pueda recibir directorios de proyectos de node.js y debería ser capaz de activar estos proyectos (a través npm start ). Una vez que los proyectos se ponen en marcha, queremos poder alcanzar los puntos finales en estos proyectos con solicitudes AXIOS. La estructura con la que hemos optado hasta ahora es de 3 contenedores docker.

| Client Docker Container | --> | Server Docker Container | --> | SpinUp Docker Container |

El ciclo de vida es que cuando un cliente envía un directorio al servidor, el contenedor acoplable SpinUp debe tomar este directorio e intentar ejecutar npm start desde dentro. Investigué y parece que los volúmenes de la ventana acoplable serán la forma en que Server & SpinUp comunicarán los archivos entre ellos (o los compartirán, con mayor precisión).

El problema es cómo debemos usar este contenedor SpinUp, ya que solo estará esperando el envío al servidor desde el cliente antes de hacer algo, ¿debemos tener el contenedor allí vivo pero dormido () todo el tiempo, o debería no se pondrá en marcha hasta que se reciba una presentación? Esto abre otra lata de gusanos, creando dinámicamente un contenedor docker durante el tiempo de ejecución.

Nuestro primer pensamiento fue ejecutar los proyectos de nodo dentro del contenedor del servidor con la biblioteca child_process() , pero están sucediendo muchas cosas dentro de ese contenedor del servidor y sobrecargarlo no estaba funcionando bien.

Entonces, solo como una descripción general del proceso de la aplicación:

i) el usuario envía un directorio (o un zip de uno) de un proyecto node.js (piense en una aplicación express realmente básica, con 2 puntos finales url/get & url/post

ii) Una vez enviado, este proyecto node.js debe activarse mediante npm start (o un comando similar) dentro del contenedor de la ventana acoplable SpinUp.

iii) Luego queremos poder enviar solicitudes HTTP a este proyecto para ver las respuestas.

iv) Luego, debemos eliminar el proyecto (esto fue muy bueno en child_process() , y no estoy seguro de si debemos seguir ese enfoque en el contenedor SpinUp o simplemente eliminar el contenedor en sí)

Cualquier pensamiento o punto en una dirección sería increíble.

¡Gracias!

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda