Dockerfile与Tomcat:“exec:catalina.sh”没有这样的文件或目录

我试图让我的Web应用程序与Docker上的Tomcat一起工作。 不过,我在实际工作中遇到了一些麻烦。 我对Tomcat和Docker都是全新的,不太清楚我做错了什么。

我的Dockerfile看起来像:

FROM java:8-jre #https://github.com/docker-library/tomcat ENV CATALINA_HOME ~/Tomcat ENV PATH $CATALINA_HOME/bin:$PATH RUN mkdir -p "$CATALINA_HOME" WORKDIR $CATALINA_HOME # see https://www.apache.org/dist/tomcat/tomcat-8/KEYS RUN gpg --keyserver pool.sks-keyservers.net --recv-keys \ 05AB33110949707C93A279E3D3EFE6B686867BA6 \ 07E48665A34DCAFAE522E5E6266191C37C037D42 \ 47309207D818FFD8DCD3F83F1931D684307A10A5 \ 541FBE7D8F78B25E055DDEE13C370389288584E7 \ 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 \ 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED \ 9BA44C2621385CB966EBA586F72C284D731FABEE \ A27677289986DB50844682F8ACB77FC2E86E29AC \ A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 \ DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 \ F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE \ F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23 ENV TOMCAT_MAJOR 8 ENV TOMCAT_VERSION 8.0.38 ENV TOMCAT_TGZ_URL https://www.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz #RUN set -x \ # && curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz \ # && curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc \ # && gpg --verify tomcat.tar.gz.asc \ # && tar -xvf tomcat.tar.gz --strip-components=1 \ # && rm bin/*.bat \ # && rm tomcat.tar.gz* #ENTRYPOINT ["$CATALINA_HOME/bin/./catalina.sh"] #RUN chmod +x $CATALINA_HOME/bin ADD ./target/*.war $CATALINA_HOME/webapps/ EXPOSE 8080 CMD ["catalina.sh", "run"] 

这主要取自https://www.distelli.com/docs/tutorials/build-and-deploy-tomcat-war-docker/ 。

我遇到了一个问题

“exec:\”catalina.sh \“:在$ PATH中找不到可执行文件”

所以,在做了一些周围的尝试后,我试着通过运行catalina.sh来执行

chmod + x $ CATALINA_HOME / bin / "./catalina.sh“

但之后它说它找不到$ CATALINA_HOME / bin / "./catalina.sh“。 所以,我试图使它入门,但没有奏效。

从terminal我能够成功运行

chmod + x $ CATALINA_HOME / bin / "./catalina.sh“

但是这并没有解决这个问题。

我究竟做错了什么? 任何和所有的帮助表示赞赏。

为什么不使用tomcat基础映像? 如https://hub.docker.com/_/tomcat/正在运行的DockerFile。

 FROM tomcat:8.0-jre8 COPY ./target/*.war $CATALINA_HOME/webapps