tomcat的Dockerfile编写

浏览:36日期:2023-02-17

问题描述

我自己编写的一个tomcat的Dockerfile文件,docker build后在执行docker run,容器直接退出了,tomcat并没有开启

Dockerfile

FROM debian:liteLABEL maintainer 'jervain@126.com'#需要jdk-8u121-linux-x64.tar.gz#需要apache-tomcat-8.0.42.tar.gzENV JDK_VERSION 1.8.0_121ENV TOMCAT_VERSION 8.0.42ENV CATALINA_HOME /usr/local/tomcatENV JAVA_HOME /usr/local/javaENV SRC_DIR /home/tmpWORKDIR ${SRC_DIR}COPY jdk-8u121-linux-x64.tar.gz ${SRC_DIR}COPY apache-tomcat-8.0.42.tar.gz ${SRC_DIR}RUN tar -xf jdk-8u121-linux-x64.tar.gz && tar -xf apache-tomcat-8.0.42.tar.gz && mv jdk${JDK_VERSION} ${JAVA_HOME} && mv apache-tomcat-${TOMCAT_VERSION} ${CATALINA_HOME} && export JAVA_HOME='${JAVA_HOME}' && export CLASSPATH='.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar' && export CATALINA_HOME='${CATALINA_HOME}' && export PATH='$JAVA_HOME/bin:$PATH' && chmod +x ${CATALINA_HOME}/bin/startup.sh && chmod +x ${CATALINA_HOME}/bin/shutdown.sh && rm -rf ./*ENTRYPOINT [${CATALINA_HOME}'/bin/startup.sh']EXPOSE 80 8080VOLUME [${CATALINA_HOME}'/conf','/var/www/webapps']

我执行的命令:docker build -t tomcat:8.0.42 .与docker run -itd tomcat:8.0.42 /bin/bash执行完成后容器直接退出了,请各位帮我看下Dockerfile有什么问题,不知道是不是因为.sh文件执行完成后就退出了,顺便问下Dockerfile中ENTRYPOINT有两种格式sh与exec,sh与exec的格式具体是怎么用的,能否举个例子

问题解答

回答1:

需要有个前台进程 比如随便 tail -f 一个文件什么的

回答2:

ENTRYPOINT的两种格式分别为sh和execsh:curl -s http://www.baidu.com

格式为: 命令 [参数] [参数...]

exec:['curl','-s','http://www.baidu.com']

格式为: ['命令','参数','参数...']

相关文章: