我有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页面没有出现 所以帮我解决问题。
答案 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
来测试它