1.下载好tomcat
我们把下载好的tomcat解压缩,放到Dockerfile同级目录下
然后名字改成tomcat_export
进入tomcat_export conf目录,我们把tomcat端口改成9099
图例:
删除tomcat中多余的内容
$ sudo rm -rf LICENSE RELEASE-NOTES RUNNING.txt webapps/* bin/* conf/tomcat-users*
然后修改下service.xml,设置ROOT是 / 访问
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources/>
<Service name="Catalina">
<Connector port="9099" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="ROOT" path="/"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
2.再次编写Dockerfile
把文章(一)中的Dockerfile,我们重新保存一下
$ sudo cp Dockerfile Dockerfile_openjre8
然后再次编辑Dockerfile,这次我们的基础镜像换成之前已经打包好的alpine:open-jre
$ sudo vi Dockerfile
Dockerfile:
# AlpineLinux open jre 8 & tomcat
FROM kylinzhang/openjre8-base:1.0
# add tomcat
RUN mkdir -p /opt
COPY tomcat_export /opt/tomcat
# Set environment
ENV TOMCAT_HOME /opt/tomcat
ENV PATH ${PATH}:${TOMCAT_HOME}/bin
ENTRYPOINT ["/opt/tomcat/bin/catalina.sh", "run"]
图例:
#注意:
这里打包使用的基础镜像为之前打包好的openjre8-base
3.打包镜像
$ sudo docker build -t kylinzhang/tomcat-base:1.0 .
打包镜像名为 kylinzhang/tomcat-base:1.0
.表示Dockerfile在当前目录
图例:
可以查看存在我们打包好的镜像了 tomcat-base:1.0
$ sudo docker image ls
同时体积也非常的小