K8S + docker部署war包项目

背景

以前使用K8S + docker部署Java项目的时候,大多都是jar包,不过这次公司使用了cas系统,只能使用war包的方式来部署,所以就研究了一下怎么部署的。

基础镜像的选择

使用K8S + docker部署war包大概流程和jar包差不多,唯一的区别就是基础镜像包不同。

区别在于部署jar包的时候基础镜像只需要选择Jdk就可以了,而war包则需要选择tomcat+jdk。

tomcat+jdk的基础镜像包可以自己制作,也可以使用tomcat官方制作的镜像。不过建议不要自己制作,还是使用官方的靠谱些。

可以去https://hub.docker.com/_/tomcat上自行查找自己需要的tomcat版本和对应的jdk版本。

我这里选择的是tomcat:8-jdk8-openjdk这个版本的。

Dockerfile

和部署jar包的脚本相似,只是多了tomcat的目录,另外需要注意的是虽然镜像中的tomcat运行脚本在/bin目录下,但是执行的时候并不需要指定脚本具体的路径。

其次多了个解压的步骤,我这里是直接解压到了ROOT目录下。

FROM tomcat:8-jdk8-openjdk

ENV PROJECT_DIR=/opt/docker
ENV TOMCAT_DIR=/usr/local/tomcat
WORKDIR $PROJECT_DIR

COPY target/ROOT.war  $TOMCAT_DIR/webapps/ROOT.war
RUN mkdir $TOMCAT_DIR/webapps/ROOT
RUN unzip -oq $TOMCAT_DIR/webapps/ROOT.war -d $TOMCAT_DIR/webapps/ROOT/

RUN chown -R daemon:daemon $TOMCAT_DIR
RUN chown -R daemon:daemon $PROJECT_DIR

ENV TZ=Asia/Shanghai

EXPOSE 8080 8443
USER daemon
CMD ["catalina.sh", "run"]

结束

总体来说还是挺简单的,祝大家运行愉快。


除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.lifengdi.com/archives/article/1835

分享到:
订阅
提醒
guest
0 评论
Inline Feedbacks
查看所有评论