我运行启动tomcat8服务器的docker镜像,但它没有启动

时间:2017-06-16 05:57:54

标签: docker java-8 dockerfile tomcat8

我有docker图像,我是从docker文件创建的。当我运行映像时,它能够运行tomcat服务器,然后命令提示符返回。这意味着该过程终止,我认为容器停止。所以当我看到http://localhost:8080时,没有出现tomcat页面。所以我无法找到实际的问题。我实际上试图构建自定义java8,tomcat8和maven作为环境,我想在该tomcat服务器中部署我的maven项目。 Bellow是用于创建图像的Dockerfile

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"]

我把java,tomcat,maven的3个文件夹放在Docker文件附近,这样就添加了。

现在,当我构建图像并运行图像时,会出现波纹管日志。

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

输出:

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#

这样提示会回来,我在浏览器http://localhost:8080中检查 tomcat页面没有出现 所以帮我解决问题。

1 个答案:

答案 0 :(得分:4)

类似的docker official tomcat image (8.0.40)运行:

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

使用catalina.sh made to start tomcat in the foreground:进程不会立即退出 如果tomcat安装确实包含该脚本,则应使用它或startup.sh

或直接运行tomcat图像进行测试:

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

您可以访问浏览器中的http://container-ip:8080

来测试它