docker制作tomcat镜像并部署war项目-阿里云开发者社区

开发者社区> 开发与运维> 正文

docker制作tomcat镜像并部署war项目

简介: docker制作tomcat镜像并部署war项目,所使用的安装包:apache-tomcat-8.5.47.tar.gz,jdk-8u181-linux-x64.tar.gz

前提条件先准备好tomcat的包和jdk包:
apache-tomcat-8.5.47.tar.gz,jdk-8u181-linux-x64.tar.gz

为防止tomcat出现中文乱码
在tomcat的bin目录catalina.sh文件新增两行
vim bin/catalina.sh

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"
JAVA_OPTS="$JAVA_OPTS -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=en_US -Dsun.jnu.encoding=UTF-8"
clipboard.png

tomcat启动慢解决方案
官方的文档里有这个问题的解释:修改$JAVA_HOME/jre/lib/security/java.security文件,替换securerandom.source=file:/dev/random为: file:/dev/urandom。对所有使用JVM的应用生效。
开始编写Dockerfile
FROM centos:7
设置为中国时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
设置编码环境为en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
#添加jdk和tomcat源码包到/usr/local/
ADD jdk-8u181-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.47.tar.gz /usr/local/
java和tomcat的环境变量设置
ENV JAVA_HOME /usr/local/jdk1.8.0_181
ENV CLASSPATH /lib/dt.jar:/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.47
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/bin:/lib:/bin
暴露端口
EXPOSE 8080
启动命令
CMD /usr/local/apache-tomcat-8.5.47/bin/catalina.sh run
clipboard.png

制作镜像
docker build -t registry.cn-shenzhen.aliyuncs.com/lsy95/tomcat:8.5.47 -f Dockerfile .

启动tomcat镜像,并部署war包
docker run -d --name tomcat -p 8080:8080 -v xxx.war包:/usr/local/apache-tomcat-8.5.47/webapps/xxx.war tomcat:8.5.47

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章