在之前的文章Docker部署Spring Boot中,应用编译的结果是jar包,而在很多情况下J2EE应用的编译结果是war包。本节将使用Docker部署war包Java应用。
一、构建tomcat的基础镜像
-
下载并上传tomcat到linux服务器
在这里我使用的tomcat版本是8.5.33,上传后解压文件并重命名:
$ tar -zxvf apache-tomcat-8.5.33.tar.gz
$ mv apache-tomcat-8.5.33 tomcat8.5
-
编写Dockerfile
#这里之前新建的jdk最小镜像 FROM simon/java8:1.0 MAINTAINER simon #这个环境变量用来表名该镜像模板的最后更新时间 ENV REFRESHED_AT 2018-09-5 #切换镜像目录,进入/usr目录 WORKDIR /usr #在/usr/下创建tomcat目录,用来存放tomcat RUN mkdir tomcat #将宿主机的tomcat目录下的文件拷至镜像的/usr/tomcat目录下 ADD tomcat8.5 /usr/tomcat/ #设置环境变量 ENV CATALINA_HOME /usr/tomcat ENV PATH $CATALINA_HOME/bin:$PATH #公开端口 EXPOSE 8080 #设置启动命令 CMD ["/usr/tomcat/bin/catalina.sh","run"]
这里使用的是我之前构建的jdk最小镜像,这里不在赘述,具体查看构建最小jdk Docker镜像这篇文章。
-
构建镜像
$ docker build -t simon/base-tomcat:1.0 .
镜像名称为:simon/base-tomcat;镜像TAG为:1.0
-
启动容器
$ docker run -d -p 8081:8080 simon/base-tomcat:1.0
访问地址为:
http://ip:8081
。
二、构建war包镜像
在这里我们需要将war包挂载到上面构建的tomcat镜像的/usr/tomcat/webapps
目录下,并启动tomcat。
-
编写Dockerfile
#这里之前新建的base-tomcat镜像 FROM simon/base-tomcat:1.0 MAINTAINER simon #这个环境变量用来表名该镜像模板的最后更新时间 ENV REFRESHED_AT 2018-09-5 #将宿主机当前目录下的war包拷至镜像的/usr/tomcat/webapps目录下 ADD cas /usr/tomcat/webapps #暴露端口 EXPOSE 8080 #设置启动命令 CMD ["/usr/tomcat/bin/catalina.sh","run"]
基础镜像为上面构建的base-tomcat镜像。
-
构建镜像
$ docker build -t simon/cas:1.0 .
镜像名称为:simon/cas;镜像TAG为:1.0
-
启动容器
$ docker run -d -p 8081:8080 simon/cas:1.0
访问路径:
http://ip:8081/cas
网友评论