I pulled official Docker image for Tomcat by running this command.
docker run -it --rm tomcat:8.0
By using this as base image I need to build new image that contains my war file in the tomcat
webapps
folder. I created Dockerfile like this.
From tomcat8
ADD warfile /usr/local/tomcat
When I run this Dockerfile by building image I am not able to see Tomcat front page.
Can anybody tell me how to add my warfile to official Tomcat images webapp folder.
docker run -it --rm --name MYTOMCAT -p 8080:8080 -v .../wars:/usr/local/tomcat/webapps/ tomcat:8.0
where wars folder contains war to deploy
Building on @daniel's answer, if you want to deploy your WAR to the root of tomcat, I did this:
It deletes the existing root webapp, copies your WAR to the ROOT.war filename then executes tomcat.
How do you check the
webapps
folder?The
webapps
folder is within the docker container. If you want to access yourwebapps
container you could mount a host directory within your container to use it aswebapps
folder. That way you can access files without accessing docker. Details see hereTo access your logs you could do that when you run your container e.g.
or you start your docker container and then do something like:
Reading from the documentation of the repo you would do something like that
Then build your image with
docker build -t yourName <path-to-dockerfile>
And run it with:
--rm
removes the container as soon as you stop it-p
forwards the port to your host (or if you use boot2docker to this IP)-it
allows interactive mode, so you see if something get's deployed