我有一个基于Maven的多模块项目
它具有各种内置的模块,例如通用实用程序,Web,主题等,
而且在根目录中,它还有一个Dockerfile
,它不是默认值,但由于某些要求,我将其命名为Dockerfile.cli
Dockerfile.cli的内容在这里:-
FROM tomcat
ENV NEUW_LOG_HOME /neuw/web/logs
RUN echo "running the image, making it a container :-)"
RUN mkdir -p "/neuw/web/theme-v4"
COPY web/target/web.war /usr/local/tomcat/webapps/ROOT.war
COPY theme-v4 /neuw/web/theme-v4
CMD ["catalina.sh", "jpda", "run"]
现在为什么要在这里->构建图像时出现以下错误:-
COPY failed: stat /var/lib/docker/tmp/docker-builder838877607/web/target/web.war: no such file or directory
我用于运行图像构建的命令如下所示,并在包含root
和theme
文件夹的项目的web
上运行它:-
docker build -f Dockerfile.cli -t neuw/web:snapshot-30 .
有任何提示和帮助吗?
答案 0 :(得分:1)
运行此命令时,您在哪个目录中?您可以从该目录执行<!DOCTYPE html>
<html>
<body>
<script>
document.getElementById("helloMessage").innerHTML = "Hello, World!";
</script>
<p id="helloMessage"> </p>
</body>
</html>
吗?我问是因为我认为您的Dockerfile期望在./web/target中找到一个相对于您正在运行的目录的web.war。
编辑(以免任何人对此进行评论):目标目录中确实包含该文件,但由于带有** / target的.dockerignore文件,它对docker不可见。