构建Docker映像时的Docker COPY问题

时间:2018-08-15 15:03:32

标签: docker dockerfile

我有一个基于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

我用于运行图像构建的命令如下所示,并在包含roottheme文件夹的项目的web上运行它:-

docker build -f Dockerfile.cli -t neuw/web:snapshot-30 .

有任何提示和帮助吗?

1 个答案:

答案 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不可见。