Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

265
Views
Política de reinicio del servicio Docker: detenga el servicio antiguo cuando el nuevo servicio esté realmente listo

Tengo tomcat ejecutándose como servicio docker en un enjambre. Cuando el servicio se inicia, carga una gran cantidad de datos en la memoria, lo que puede demorar, según la cantidad de datos, entre 10 y 30 minutos.

Mi problema es cuando actualizo el servicio (pedido: comenzar primero), el contenedor anterior se detiene antes de que el nuevo contenedor haya inicializado sus datos y, por lo tanto, no esté listo para usar.

Un enfoque prometedor me pareció la configuración de verificación de estado en mi docker-compose:

 healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/areyouready"] interval: 10s timeout: 10s retries: 30

La verificación de estado funciona bien, pero el servicio anterior también se cierra mientras que la prueba devuelve 1 (no es saludable) para el nuevo servicio.

También traté de manejar el SIGTERM en mi aplicación: el servicio en ejecución obtiene el sigterm y verifica si ya debería detenerse según el estado del nuevo servicio:

 Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { // via db access determine the state of the new started containers, but I don't know // how to prevent my tomcat from stopping here } }

Además de eso, no logré evitar que mi gato lo detuviera, simplemente no parecía ser la forma correcta.

Mi solución deseada sería configurar algo como esto:

 update_config: order: start-first a-kind-of-stop-condition: ["CMD", "curl", "-f", "http://localhost:8080/areyouready"]

la solicitud de condición debe ir al nuevo contenedor creado y, si tiene éxito, se puede detener el anterior.

Sería genial si pudiera señalarme en la dirección correcta.

Saludos cordiales, Sebastián

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!