在Docker中使用JBoss或Tomcat服务器运行Java应用程序

7
我已在我的Windows机器上安装了Docker,并按照网站"https://registry.hub.docker.com/u/dockerfile/java/"的指示运行了Java镜像,它允许我按预期运行Java命令。但是假设我有一个需要在Jboss或Tomcat上运行的Java应用程序。我该如何为此创建一个镜像,并将我的应用程序WAR文件添加到服务器进行部署。由于我对创建Docker文件并不熟悉,所以如果您能告诉我如何完成这个过程,那真的会非常有帮助,这样我就可以使用Docker在任何地方运行我的应用程序,并且使用Jboss / Tomcat服务器。
2个回答

9

创建一个像这样的Dockerfile:

FROM dockerfile/java

# Install Tomcat
RUN sudo apt-get update && sudo apt-get install tomcat7

# Add your webapp file into your docker image into Tomcat's webapps directory
# Your webapp file must be at the same location as your Dockerfile
ADD mywebapp.war /var/lib/tomcat7/webapps/

# Expose TCP port 8080
EXPOSE 8080

# Start Tomcat server
# The last line (the CMD command) is used to make a fake always-running
# command (the tail command); thus, the Docker container will keep running.
CMD sudo service tomcat7 start && tail -f /var/log/tomcat7/catalina.out

构建镜像:

$ docker build -t tomcat7-test <Dockerfile's path>

然后,运行它:

$ docker run -d -p 8080:8080 tomcat7-test

你好,感谢回复。很抱歉因为度假耽搁了这么久。我已经尝试使用上述的Dockerfile安装Tomcat。但是在构建和启动容器后,它突然停止了Tomcat服务器。不知道出了什么问题。我已经尝试了几次:( 请问可能是什么原因呢?再次感谢! - priyank
嗨yashu,抱歉回复晚了...你的catalina日志文件(/var/log/tomcat7/catalina.out)内容是什么? - Fabien Balageas
你好@FabienBalageas, webapp.war是如何创建的? - Cyebukayire

1
运行这个:
sudo apt-get -y install tomcat7

请确保在安装之前添加-y

好的,谢谢;) 但是为什么我必须加上“-y”呢? - Cyebukayire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接