Dockerizing Web应用程序(WAR文件)

时间:2017-07-18 06:39:31

标签: docker docker-compose dockerfile boot2docker

我想将一个Web应用程序包含在内,这个文件是一个WAR文件,Postgres是数据库,Tomcat是服务器。

这样做的程序是什么?

我正在使用以下dockerfile:

FROM tomcat:8-jre8 MAINTAINER lpradel 
RUN echo "export JAVA_OPTS=\"-Dapp.env=staging\"" > /usr/local/tomcat/bin/setenv.sh
COPY ./application.war /usr/local/tomcat/webapps/staging.war
CMD ["catalina.sh", "run"]

2 个答案:

答案 0 :(得分:0)

为每个应用程序编写dockerfile。 例如:将一个dockerfile基于tomcat服务器docker镜像,复制warfile并在dockerfile的cmd部分启动tomcat。

对于postgres,您应该能够使用现有图像。

答案 1 :(得分:0)

更新回答:

您正在使用的dockerfile是正确的。这应该准备一个tomcat映像,它具有您想要的Web应用程序。但是,您可能希望connect具有postgress容器的tomcat容器。

连接多个容器的更简单方法是使用docker-compose文件。要使用docker-compose,请参阅docker-compose#build

原始回答 您可以将war文件挂载到容器内/usr/local/tomcat/webapps/name_of_your_file.war的tomcat容器中。这将使tomcat容器能够自动部署war文件。

顺便说一句,我正在进行类似的过程并使用mysql数据库。看一下我的deployment file可能会对您有所帮助。