docker制作springmvc应用镜像
发表于|更新于
|阅读量:
一、制作镜像
1.文件
2.目录
3.Dockerfile文件
结构图:
文件内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| FROM centos MAINTAINER buming<1340595077@qq.com>
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' > /etc/timezone
ADD jdk-8u162-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-8.5.82.tar.gz /usr/local/
RUN chmod a+x /usr/local ENV MYPATH /usr/local WORKDIR $MYPATH ENV JAVA_HOME $MYPATH/jdk1.8.0_162 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME $MYPATH/apache-tomcat-8.5.82 ENV CATALINA_BASH $MYPATH/apache-tomcat-8.5.82 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
ENV JAVA_OPTS $JAVA_OPTS -Xms500M -Xmx1G -DsysConfigPath="file:/usr/local/apache-tomcat-8.5.82/pldconfig/sysConfig.properties" -DdbConfigPath="file:/usr/local/apache-tomcat-8.5.82/pldconfig/dbconfig.properties" -DlogConfigPath="file:/usr/local/apache-tomcat-8.5.82/pldconfig/log4j.xml" -DmongoConfigPath="file:/usr/local/apache-tomcat-8.5.82/pldconfig/mongodb.properties" -DyhFundApiConfigPath="file:/usr/local/apache-tomcat-8.5.82/pldconfig/customerApi.properties" -Dfile.encoding=utf-8 -Duser.timezone=GMT+08 ADD scxx-web.war $CATALINA_HOME/webapps EXPOSE 8080 WORKDIR $CATALINA_HOME/bin RUN chmod a+x $CATALINA_HOME/bin/startup.sh
VOLUME ["$CATALINA_HOME/logs/","$CATALINA_HOME/pldconfig"]
CMD $CATALINA_HOME/bin/startup.sh && tail -F $CATALINA_HOME/logs/catalina.out
|
4.构建
在制作镜像目录下执行
1
| docker build -t report .
|
5.导出镜像
1
| docker save report > report.tar
|
二、根据镜像启动创建容器
1.运行容器
1 2 3 4 5
| docker run -d --name='report' -p 9527:8080 \ -v /data/scxx/report/config:/usr/local/apache-tomcat-8.5.82/pldconfig \ -v /data/scxx/report/tomcat/logs:/usr/local/apache-tomcat-8.5.82/logs \ -v /data/scxx/report/logs:/srv/logs/dev \ report
|
目录介绍:
/usr/local/apache-tomcat-8.5.82/pldconfig:外部配置文件目录
/usr/local/apache-tomcat-8.5.82/logs:tomcat日志目录
/srv/logs/dev:应用日志目录
三、常见问题
- 如果是基于tomcat镜像制作,注意tomcat镜像中jdk版本,要用1.8版本,版本过高会报类找不到。