问题描述
部署Java应用到Azure Container App中,首先需要在本地构建镜像文件后上传到Azure Contaienr Registrier中。
但是,在第一步构建镜像的时候,就遇见错误:
=> ERROR [build 9/9] RUN ./mvnw.cmd dependency:go-offline -B -Dproduction package 0.6s ------ > [build 9/9] RUN ./mvnw.cmd dependency:go-offline -B -Dproduction package: 0.523 /bin/sh: line 1: ./mvnw.cmd: No such file or directory 就单独代码调试可以正常运行。而且,项目文件根目录(与Dockerfile同级)中,已经包含了 mvnw 文件和 mvnw.cmd, 所以,不应该是文件本身确实的原因导致的。
项目目录结构
....>javademo> tree /a /f
Folder PATH listing for volume Local Disk
Volume serial number is 4CDB-764A
C:.
| .gitignore
| CHANGELOG.md
| CONTRIBUTING.md
| Dockerfile
| LICENSE.md
| mvnw
| mvnw.cmd
| pom.xml
...
DockerFile内容
- # Build stage FROM mcr.microsoft.com/openjdk/jdk:21-mariner AS build ENV JAR_FILE=containerapps-albumapi-java-0.0.1-SNAPSHOT.jar WORKDIR /app COPY mvnw* /app/ COPY .mvn /app/.mvn COPY pom.xml /app COPY ./src /app/src RUN ls -la /app RUN chmod +x ./mvnw RUN ./mvnw dependency:go-offline -B -Dproduction package # Runtime stage FROM mcr.microsoft.com/openjdk/jdk:21-mariner COPY --from=build /app/target/containerapps-albumapi-java-0.0.1-SNAPSHOT.jar /usr/src/myapp/ EXPOSE 8080 CMD ["/usr/bin/java", "-jar", "/usr/src/myapp/containerapps-albumapi-java-0.0.1-SNAPSHOT.jar"]
复制代码
问题解答
以前遇见问题,全网搜索。当前,遇见问题,第一问AI大模型。
我得到的答案是:
我的问题: RUN ./mvnw dependency:go-offline -B -Dproduction package 这句话在dockerfile中是什么目的呢?如果遇见报错“0.288 /bin/sh: line 1: ./mvnw: cannot execute: required file not found” 如何来解决它 M365 Copilot的回答: 这条命令: - RUN ./mvnw dependency:go-offline -B -Dproduction package
复制代码
在 Dockerfile 中的作用是:
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |