I am trying to build a docker container running tomcat from a docker file. Please find below the Dockerfile content:
FROM ubuntu:trusty
MAINTAINER karthik.jayaraman
VOLUME ["/tomcat/files"]
ADD /files/tar/apache-tomcat-7.0.47.tar.gz /usr/local/tomcat
ADD /files/scripts/. /tmp/tomcat_temp
RUN ls /tmp/tomcat_temp
RUN cp -a /tmp/tomcat_temp/. /etc/init.d
RUN chmod 755 /etc/init.d/tomcat
RUN chkconfig --add tomcat && chkconfig --level 234 tomcat on
ADD /files/config /usr/local/tomcat/apache-tomcat-7.0.47/conf/
ADD /files/lib /usr/local/tomcat/apache-tomcat-7.0.47/lib/
ENV CATALINA_HOME /usr/local/tomcat/apache-tomcat-7.0.47
ENV PATH $PATH:$CATALINA_HOME/bin
EXPOSE 8080
CMD ["service","tomcat","start"]
When i create the image and run a bash in the container, with the command "Service tomcat start", the server is started. I checked the catalina.out file and ensured that its running. But when i try the host IP on which docker is installed and access the port using the port number 8080, i could connect to tomcat page. But when i specify the internal IP address of the container - 172.24.0.7:8080, i could view the tomcat page. I guess the port forwarding is not properly. Can someone tell me the error i am making here.
Usually Docker uses the default 172.17. 0.0/16 subnet for container networking.
Method 1. The first method is using the Docker inspect command to inspect containers and using the format option to print out the IP address of the container only. Let's check out how to do so. This command uses the -f flag which stands for --format and uses a Go-template to print only the IP of the container.
Your docker container is running as long as last command is not done. You are booting up your tomcat as a daemon. This makes docker to stop running container as soon as tomcat is started.
You can changed your last line to:
CMD service tomcat start && tail -f /var/lib/tomcat/logs/catalina.out
Or just try using one of precreated tomcat containers from Docker Hub: https://registry.hub.docker.com/search?q=tomcat&s=downloads
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With