Translate

martes, 9 de abril de 2019

Docker y debug de Apache Tomcat y TomEE



El debug remoto es una práctica común para investigación de problemas de microservicios.
Si estas utilizando contenedores Docker Apache Tomcat o Apache TomEE, en la web puedes encontrar varias técnicas como lo son:


  1. Extender una imagen oficial y personalizar [1]
  2. Utilizar personalización extensiva de CATALINA_OPTS [2]

Sin embargo ambos enfoques requieren extra pasos aplicables para algunos escenarios. A continuación les comparto la forma más sencilla que he utilizado para poder hacer debug remoto en Apache Tomcat y Apache TomEE:



Anatomía de las opciones utilizadas:

  • docker run
    • Comando para encender un contendor docker
  • -it
    • Habilitando el modo interactivo del contenedor
  • -p 8080:8080 -p 8000:8000
    • Exponiendo los puertos accessibles desde el docker host
  • -e CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000"
    • Habilitacion de modo debug via CATALINA_OPTS con la configuración resumida y util para la mayoria de scenarios
  • tomcat:9.0.17-jre11
    • La imagen y label Docker del contenedor a ejecutar.