1、编写dockerfile文件,文件内容如下
FROM centos
MAINTAINER stevedreamer<fanghuaye@email.ncu.edu.cn>
COPY readme.txt /usr/local/readme.txt
ADD jdk-8u301-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.52-src.tar.gz /usr/local/
#安装vim
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_301
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.52-src
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.52-src
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
#可能遇到权限不够
RUN chmod u+x /usr/local/apache-tomcat-9.0.52-src/bin/*.sh
# 日志文件目录,可能不存在
RUN mkdir -p /usr/local/apache-tomcat-9.0.52-src/logs/
CMD /usr/local/apache-tomcat-9.0.52-src/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.52-src/logs/catalina.out
2、通过这个文件构建镜像
#命令 docker build -f dockerfile文件路径 -t 镜像名(版本)
docker build -f mydockerfile -t mycentos:0.1 .
3、测试运行
可能存在的问题:
- touch: cannot touch ‘/usr/local/apache-tomcat-9.0.52-src/logs/catalina.out’: No such file or directory
/usr/local/apache-tomcat-9.0.52-src/bin/catalina.sh: line 439: /usr/local/apache-tomcat-9.0.52-src/logs/catalina.out: No such file or directory下载tomcat包应该下载bin格式,源代码文件log目录丢失,而且还会爆下面的错误
- Error: Could not find or load main class org.apache.catalina.startup.Bootstrap
应该重新下载过压缩包