title: Dockerfile with Tomcat: "exec: catalina.sh" no such file or directory
body: <p>I'm trying to get my web app working with Tomcat on Docker. However, I'm having a bit of trouble getting this actually working. I'm brand new to both Tomcat and Docker and don't quite know what I'm doing wrong.</p>
  
  <p>My Dockerfile looks like:</p>
  
  <pre><code>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 \
  #   &amp;&amp; curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz \
  #   &amp;&amp; curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc \
  #   &amp;&amp; gpg --verify tomcat.tar.gz.asc \
  #   &amp;&amp; tar -xvf tomcat.tar.gz --strip-components=1 \
  #   &amp;&amp; rm bin/*.bat \
  #   &amp;&amp; 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"]
  </code></pre>
  
  <p>This was taken primarily from <a href="https://www.distelli.com/docs/tutorials/build-and-deploy-tomcat-war-docker/" rel="nofollow noreferrer">https://www.distelli.com/docs/tutorials/build-and-deploy-tomcat-war-docker/</a>.</p>
  
  <p>I was getting an issue of </p>
  
  <blockquote>
    <p>"exec: \"catalina.sh\": executable file not found in $PATH"</p>
  </blockquote>
  
  <p>So, after doing some poking around I tried making catalina.sh executable by running </p>
  
  <blockquote>
    <p>chmod +x $CATALINA_HOME/bin/"./catalina.sh"</p>
  </blockquote>
  
  <p>But then it said it couldn't find $CATALINA_HOME/bin/"./catalina.sh". So, I tried making it ENTRYPOINT but that didn't work.</p>
  
  <p>From the terminal I <em>was</em> able to successfully run </p>
  
  <blockquote>
    <p>chmod +x $CATALINA_HOME/bin/"./catalina.sh"</p>
  </blockquote>
  
  <p>but that didn't clear up the issue.</p>
  
  <p>What am I doing wrong? Any and all help is appreciated.</p>