我正在尝试将一些Tomcat应用程序进行Docker化,但之前从未接触过Java应用程序,因此缺乏理解使得很难明白该如何做。
到目前为止,我已经有了以下内容,但它并不起作用,而且我也不确定路径是否正确。
FROM tomcat:6
ENV APP_ROOT /app_name
RUN apt-get update && apt-get install -y default-jdk
COPY . $APP_ROOT/
WORKDIR $APP_ROOT
RUN jar -cvf app_name.war *
# this fail for some reason, when I do `ls` the file is there but if fail to copy it
COPY app_name.war $CATALINA_BASE/webapps/app_name.war
我一直陷入困境,因为我不理解,并且谷歌搜索并没有帮助我太多(我不知道如何提问)。
如果不使用jar
命令进行构建,那么我应该使用什么?如果不是这样的话,我想我必须在本地构建,只需确保.war
位于正确的位置即可。
Java与Tomcat应用程序的构建方式是什么?如何与Docker集成?
对不起,我的问题有点泛泛而谈,但我对Java一无所知。
$CATALINA_BASE
在你的 Dockerfile 中不是一个环境变量,对吗? - OneCricketeer$CATALINA_BASE
来自于 tomcat 基础镜像。而且我无法更改 tomcat 版本 :( - Yordis Prieto LazoCMD ["catalina.sh", "run"]
。我构建的方式是否正确? - Yordis Prieto Lazo