Si estas utilizando contenedores Docker Apache Tomcat o Apache TomEE, en la web puedes encontrar varias técnicas como lo son:
- Extender una imagen oficial y personalizar [1]
- 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.