我想将一个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"]
答案 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可能会对您有所帮助。