Ok I will try to explain it the best as I can.
To use docker in development environment we create Dockerfiles usualy based on debian or alpine distributions casue they have the lightest weight. We install required packages in your case that would be tomcat and java probably and so on. For more info check this place http://docs.docker.com/engine/articles/dockerfile_best-practices
Then we use docker-compose to run containers with volumes pointing our project directory. Check more here https://docs.docker.com/compose/
I do not work with Java so I have no clue how to debug Java applications. Probably you are doing it through some kind of IDE like NetBeans, Eclipse or InteliJ. To do so with docker it is impossible it unless you install java on your host. In ruby we debug with byebug and we do it in container without any effort at all.
As far as CI is concern there are few approaches to run tests in that environment. You can use Jenkins to build semi production image with Dockerfile, then run tests and finaly make fully production image with downloaded vendors and whole ur application.
In perfect world you should run proccess per container to ease scaling. So for one simple web application you probably want to have one container with nginix, one with web application and all vendors and one with database and probably one with persistent data storage for database
I hope that help you a bit.