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

674
Vistas
La aplicación Spring Boot en Docker recibe: Error R10 (Tiempo de espera de arranque) -> El proceso web no se pudo vincular a $PORT dentro de los 60 segundos posteriores al inicio

Tengo una aplicación Spring Boot en Docker que se ejecuta en Heroku.

Recientemente, después de actualizar Tomcat a 10.1.0-M10, comencé a recibir este error:

Error R10 (Tiempo de espera de arranque) -> El proceso web no se pudo vincular a $PORT dentro de los 60 segundos posteriores al inicio

La idea inmediata de cambiar a versiones inferiores no funciona debido a las vulnerabilidades de las versiones anteriores. Revisé las posibles causas y encontré un problema de puerto de enlace de Tomcat.

No puedo establecer una configuración fija para diferentes puertos, ya que estoy implementando en Heroku y dependo de sus puertos aleatorios.

Mi Dockerfile:

 FROM azul/zulu-openjdk-alpine:11 ENV PORT=$PORT COPY /target/app.jar /app.jar CMD java -Xms256m -Xmx512m \ -Dlog4j2.formatMsgNoLookups=true \ -Djava.security.egd=file:/dev/./urandom \ -Dserver.port=$PORT \ -jar /app.jar

¿Cuál es la forma de solucionarlo? ¿Hay algo que me estoy perdiendo?

ACTUALIZAR:

Hay más registros de Heroku:

 Feb 22 12:50:16 integration-test app/web.1 2022-02-22 20:50:16.057 [main] INFO cgszApplicationKt - Started ApplicationKt in 8.09 seconds (JVM running for 9.062) Feb 22 12:50:16 integration-test app/web.1 2022-02-22 20:50:16.060 [main] DEBUG osbaApplicationAvailabilityBean - Application availability state LivenessState changed to CORRECT Feb 22 12:50:16 integration-test app/web.1 2022-02-22 20:50:16.063 [main] DEBUG osbaApplicationAvailabilityBean - Application availability state ReadinessState changed to ACCEPTING_TRAFFIC Feb 22 12:51:06 integration-test heroku/web.1 Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Encontré una solución que no era perfecta pero parecía funcionar para mí.

  • Spring Boot degradado de 2.6.3 a 2.6.1
  • Tomcat degradado de 10.XX a 9.XX
  • Dependencias de herramientas de desarrollo eliminadas

Creo que los dos últimos hicieron la magia. Las herramientas de desarrollo dejaron de solicitar un puerto adicional en el entorno de prueba/producción. Tomcat vinculó el puerto en la versión 9.XX pero no en 10.XX

Aunque encontré la solución, no sé por qué se comportó así, y no es perfecta en cuanto a seguridad.

over 4 years ago · Santiago Trujillo Denunciar

0

del mensaje de error parece que $PORT no se resuelve en ninguna variable de entorno.

al implementar en heroku, debe usar el archivo .env para definir env vars (no puede usar docker run -e PORT=1234 ) consulte la documentación

Cuando usa heroku localmente, puede establecer vars de configuración en un archivo .env. Cuando se ejecuta heroku local, se lee .env y cada par de nombre/valor se establece en el entorno. Puede usar este mismo archivo .env cuando usa Docker: docker run -p 5000:5000 --env-file .env <image-name>

over 4 years ago · Santiago Trujillo Denunciar
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