docker制作tomcat项目镜像容器

2019-11-21  本文已影响0人  顾道夫

前提:准备好基础Tomcat镜像,准备一个制作镜像的目录

1.准备tomcat需要的xml文件

xxx.xml

<Context path="/xxx" docBase="/opt/product/apps/xxx" workDir="/opt/product/data/works/xxx">
<Resources allowLinking="true"/>
</Context>

2.打包好应用代码 部署文件

apps
这个目录下为应用文件

3.编写all.sh文件

这里路径都是容器里的路径,将配置文件,日志目录软链接到挂载目录,方便修改,可持续化

#!/bin/bash

export JAVA_HOME=/data/jdk
export PATH=$JAVA_HOME/bin:$PATH

logsDir="/opt/product/data/logs/tomcat-epg"

cd /opt/product/apps/xxx/WEB-INF/conf/
rm -rf config.properties
ln -s /opt/product/xxx/configs/config.properties config.properties

cd /opt/product/apps/xxx/WEB-INF/classes/
rm -rf log4j.properties
ln -s /opt/product/data/configs/log4j.properties log4j.properties

cd /opt/product/apps/xxx/
rm -rf files
ln -s /opt/product/data/xxx-data files

cd /opt/product/tools/tomcat/
rm -rf logs
if [ ! -d $logsDir ]; then
   mkdir -p $logsDir
fi

ln -s /opt/product/data/logs/tomcat-epg /opt/product/tools/tomcat/logs

sh /opt/product/tools/tomcat/bin/catalina.sh run

4.编写Dockerfile文件

FROM tomcat:v1.0
MAINTAINER gudolf
VOLUME [ "/opt/product/data" ]
ADD xxx.xml /opt/product/tools/tomcat/conf/Catalina/localhost/
ADD ./apps/ /opt/product/apps/
WORKDIR /opt/product/tools/tomcat/bin
ADD all.sh /root/
RUN chmod +x /root/all.sh
ENTRYPOINT ["/root/all.sh"]
CMD ["/usr/sbin/init"]

5.制作镜像

sudo docker build -t xxx:xxx  ./

6.启动镜像

sudo docker run --name=xxx -d -ti -p 8080:8080 -v /opt/product/data/xxx:/opt/product/data -v /data/jdk:/data/jdk xxx:xxx
上一篇下一篇

猜你喜欢

热点阅读