测试时编写了 tomcat 的 dockerfile

手动打入 jdk tomcat9

打包镜像后 大小为 600M+,感觉很不满意

还有很多可优化方面,如使用 alpine系统 更换 jdk版本,后续再说

先放 dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
FROM centos:latest
MAINTAINER jy:tomcat0.1
RUN cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ADD jdk-8u211-linux-x64.tar.gz /usr/local
ADD apache-tomcat-9.0.24.tar.gz /usr/local
RUN ln -s /usr/local/jdk1.8.0_211 /usr/local/jdk
RUN ln -s /usr/local/apache-tomcat-9.0.24 /usr/local/tomcat
ENV JAVA_HOME /usr/local/jdk
ENV PATH $JAVA_HOME/bin:$PATH
ENV TOMCAT_HOME /usr/local/tomcat
ENV PATH $TOMCAT_HOME/bin:$PATH
EXPOSE 8080
CMD ["catalina.sh", "run"]

期间碰到个很普通但很有意思的问题,耽误很长时间

启动镜像总是失败,我的启动命令如下

1
docker run -itd -p 9995:8080 centos/tomcat9:0.3 /bin/bash

由于最后加入 /bin/bash 所以导致 dockerfile 中CMD命令失效

这一点小细节值得记录