我 运行 docker 图像启动 tomcat8 服务器但它不启动

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

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

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 页面未出现 所以帮我解决问题。

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

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

使用:进程不会立即退出。
如果您 tomcat 安装包含该脚本,您应该改用它或 startup.sh.

或者运行直接一张tomcat图片进行测试:

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

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