在之前的文章Docker部署Spring Boot中,應用編譯的結果是jar包,而在很多情況下J2EE應用的編譯結果是war包。本節(jié)將使用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 #這個環(huán)境變量用來表名該鏡像模板的最后更新時間 ENV REFRESHED_AT 2018-09-5 #切換鏡像目錄,進入/usr目錄 WORKDIR /usr #在/usr/下創(chuàng)建tomcat目錄,用來存放tomcat RUN mkdir tomcat #將宿主機的tomcat目錄下的文件拷至鏡像的/usr/tomcat目錄下 ADD tomcat8.5 /usr/tomcat/ #設置環(huán)境變量 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 #這個環(huán)境變量用來表名該鏡像模板的最后更新時間 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