I run the docker images which start tomcat8 server but it don't start

时光总嘲笑我的痴心妄想 提交于 2020-01-01 05:47:13

问题


I have docker image which I create from my docker file. When I run the image it has able to run the tomcat server then the command prompt come back. That mean the process is terminated and I think the container stops. So when I see http://localhost:8080 no tomcat page is appear. So I am not able find actual what is the problem. I am actually trying to to build custom java8, tomcat8 and maven as environment and I want to deploy my maven project in that tomcat server. Bellow is the Dockerfile to create image

FROM scratch
FROM ubuntu:16.04

RUN mkdir /opt/java8
RUN mkdir /opt/tomcat8
RUN mkdir /opt/maven3

ENV JAVA_HOME /opt/java8
ENV CATALINA_HOME /opt/tomcat8
ENV M2_HOME /opt/maven3

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$M2_HOME/bin

ADD jdk1.8.0_112 /opt/java8
ADD apache-tomcat-8.0.38 /opt/tomcat8
ADD apache-maven-3.3.9 /opt/maven3

EXPOSE 8080

CMD ["startup.sh", "run"]

I put 3 folder of java, tomcat, maven near Docker file so those are added.

Now when I build the image and run the image the bellow log appear.

root@dhavalbhoot:/home/veni/Documents/dhaval_bhoot/docker_images/tomcat1#
  docker run -it -p 8080:8080 dhaval/tomcat:8.0.38

Output:

Using CATALINA_BASE:   /opt/tomcat8
Using CATALINA_HOME:   /opt/tomcat8
Using CATALINA_TMPDIR: /opt/tomcat8/temp
Using JRE_HOME:        /opt/java8
Using CLASSPATH:       
  \#/opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar
Tomcat started.

root@dhavalbhoot:/home/veni/Documents/dhaval_bhoot/docker_images/tomcat1#

This way the prompt come back and I check in browser http://localhost:8080 tomcat page not appear So help me solving the problem.


回答1:


A similar docker official tomcat image (8.0.40) runs:

CMD ["catalina.sh", "run"]

With catalina.sh made to start tomcat in the foreground: the process won't exit immediately.
If you tomcat installation does include that script, you should use it instead or startup.sh.

Or run directly a tomcat image for testing:

$ docker run -it --rm -p 8080:8080 tomcat:8.0

You can test it by visiting http://container-ip:8080 in a browser



来源:https://stackoverflow.com/questions/44581793/i-run-the-docker-images-which-start-tomcat8-server-but-it-dont-start

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!