Debugging Java containers
Can you debug Java applications within your container? Yes.
How? Check below…
1. Modify your dockerfile
- To expose JPDA params
ENV JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"
- To expose the debug port along with application port
EXPOSE 7080 8000
- To add the options in your command
CMD ["sh", "-c", "java $JPDA_OPTS -Durl=$url -jar app.jar"]
2. Build the docker and run with exposing the app port and debug port.
docker run –d -p 7080:7080 <docker image>
3. Open the project in Eclipse and create a debug configuration with Host and debug port
4. Set the breakpoints and Launch the debug configuration. Voila! You are debugging the application in running container.