gpt4 book ai didi

java - Docker Cloud 自动构建 - 没有这样的文件或目录

转载 作者:行者123 更新时间:2023-11-30 02:15:59 24 4
gpt4 key购买 nike

运行基于 Maven 的项目构建,但失败。

原因是当它尝试查找 jar 时没有这样的文件或目录

Dockerfile:

FROM frolvlad/alpine-oraclejdk8:slim
FROM maven:3.5.2-jdk-8-slim
VOLUME /tmp
CMD ['mvn package']
ADD target/app-0.1.0-SNAPSHOT.jar app.jar <-- fails there
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

日志输出:

...
Removing intermediate container 60da937dde8a
Step 4/8 : CMD ['mvn package']
---> Running in 8ba364ba9d98
---> 4a722569d1a7
Removing intermediate container 8ba364ba9d98
Step 5/8 : ADD target/app-0.1.0-SNAPSHOT.jar app.jar
ADD failed: stat /var/lib/docker/tmp/docker-builder1534563/target/app-0.1.0-SNAPSHOT.jar: no such file or directory
ERROR: Build failed: ADD failed: stat /var/lib/docker/tmp/docker-builder1534563/target/app-0.1.0-SNAPSHOT.jar: no such file or directory
ERROR: Build failed with exit code 2

已经使用了不同的设置,但尽管应用程序名称与构建的 jar 名称匹配,但它仍然无法工作。

如何解决这个问题?

最佳答案

这个问题IMO与Spring Boot无关,它与Docker相关。一般来说,请分享有关如何准确运行 docker build 命令、从哪个目录以及您的 Dockerfile 准确驻留在何处的更多信息。如果没有这些信息,我们只能推测并提供通用答案:

提供一些考虑要点:Docker 对项目的 Maven 结构一无所知,因此您可以只维护以下布局:

 <some_dir>
|____ Dockerfile
|____ app-0.1.0-SNAPSHOT.jar

然后您可以从此目录运行 docker build 命令,这应该可以工作。然后您可以尝试 target 目录,一旦您了解它何时有效以及何时无法继续当前的文件夹布局,通过这种实践,您很有可能找到答案快点。

关于java - Docker Cloud 自动构建 - 没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48441411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com