此前的一篇文章也创建过jdk和tomcat的镜像,可是每次启动超慢,后来了解有tomcat的random随机数阻塞的东西,来改进这个tomcat启动慢的问题!
在这个链接中下载jdk-8u211-linux-x64.tar.gz和apache-tomcat-7.0.96.tar.gz
1.文件路结构
[root@vm88 jdk]# pwd
/root/jdk
[root@vm88 jdk]# tree
├── dockerfile
├── jdk-8u211-linux-x64.tar.gz
└── tomcat
├── apache-tomcat-7.0.96.tar.gz
└── dockerfile
2、先创建jdk1.8版本的dockerfile
#先要求联网,自动下载centos:latest镜像
FROM centos:latest
MAINTAINER https://blog.csdn.net/lituxiu
ENV TIME_ZOME Asia/Shanghai
ADD jdk-8u211-linux-x64.tar.gz /usr/jdk/
#这里解决random随机数阻塞,改善tomcat启动速度
RUN sed -i "/^securerandom\.source/csecurerandom\.source=file:\/dev\/\.\/urandom/" /usr/jdk/jdk1.8.0_211/jre/lib/security/java.security
#替换为 securerandom.source=file:/dev/./urandom
#JAVA_HOME是jdk存放的位置
ENV JAVA_HOME /usr/jdk/jdk1.8.0_211
ENV CLASSPATH $JAVA_HOME/lib;$JAVA_HOME/jre/lib
ENV PATH $PATH:$JAVA_HOME/bin
2.1、创建jdk镜像
docker build -t jdk8.0.211:latest ./
验证jdk环境是否成功
docker run -it jdk镜像id /bin/bash进入环境后打"java -version"是否正常显示
3、再用jdk镜像配置tomcat,合并成一个镜像,创建tomcat的dockerfile
FROM jdk8.0.211:latest
MAINTAINER https://blog.csdn.net/lituxiu
ENV TIME_ZOME Asia/Shanghai
ADD apache-tomcat-7.0.96.tar.gz /usr/tomcat/
ENV CATALINA_HOME /usr/tomcat/apache-tomcat-7.0.96
ENV CATALINA_BASE $CATALINA_HOME
ENV PATH $PATH:$CATALINA_HOME/lib:$CATALINA_HOME/bin
RUN echo "${TIME_ZOME}" > /etc/timezone \
&& ln -sf /usr/share/zoneinfo/${TIME_ZOME} /etc/localtime
ENTRYPOINT /usr/tomcat/apache-tomcat-7.0.96/bin/catalina.sh run
3.1创建tomcat镜像
docker build -t tomcat7.0.96:latest ./
随后查看tomcat容器里的启动日志,tomcat启动速度明显快了很多
tailf /data/tomcat/logs/catalina.2019-09-16.log
(/data/tomcat/logs作为本地挂载容器的目录)