java - 在执行 docker-compose build 时遇到构建失败问题?
问题描述
FROM java:8
FROM maven:alpine
WORKDIR /app
COPY pom.xml /app
RUN mvn clean
RUN mvn compile
RUN mvn install
COPY . /app
RUN mvn clean install
ENTRYPOINT ["java", "-jar", "/target/Brabo-Asset-Service-Web-0.0.1-SNAPSHOT-spring-boot.jar"]
收到此错误:
java: /app/src/main/java (add: main, clean: false, plugin: null, outputOptions: null)
[INFO] grpc-java: /app/src/main/java (add: main, clean: false, plugin: null, outputOptions: null)
[INFO] Resolving artifact: io.grpc:protoc-gen-grpc-java:1.15.0, platform: linux-x86_64
[INFO] Processing (java): NodeLevelService.proto
protoc-jar: executing: [/root/protocjar8340208475023305576/bin/protoc.exe, -I/tmp/protocjar1489995214004248376/include, -I/app/src/main/resources, --java_out=/app/src/main/java, /app/src/main/resources/NodeLevelService.proto]
protoc-jar: caught exception, retrying: java.io.IOException: Cannot run program "/root/protocjar8340208475023305576/bin/protoc.exe": error=2, No such file or directory
protoc-jar: executing: [/root/protocjar8340208475023305576/bin/protoc.exe, -I/tmp/protocjar1489995214004248376/include, -I/app/src/main/resources, --java_out=/app/src/main/java, /app/src/main/resources/NodeLevelService.proto]
protoc-jar: caught exception, retrying: java.io.IOException: Cannot run program "/root/protocjar8340208475023305576/bin/protoc.exe": error=2, No such file or directory
protoc-jar: executing: [/root/protocjar8340208475023305576/bin/protoc.exe, -I/tmp/protocjar1489995214004248376/include, -I/app/src/main/resources, --java_out=/app/src/main/java, /app/src/main/resources/NodeLevelService.proto]
解决方案
关于考虑进行多阶段构建,我同意@stefano,但基本上您的具体问题是由于您正在运行 maven 构建而没有首先包含/复制您的源代码,所以我相信您的 Dockerfile 应该看起来像这样:
FROM maven:alpine
WORKDIR /app
COPY . /app
RUN mvn clean install
ENTRYPOINT ["java", "-jar", "/target/Brabo-Asset-Service-Web-0.0.1-SNAPSHOT-spring-boot.jar"]
推荐阅读
- reactjs - 如何更改连接内的函数以响应 mapStateToProps?
- javascript - 根据页面滚动显示div,如无限滚动
- c# - 如何使用 EF 和 List 过滤数据
- python - 如何在 Flask-Restful API 中使用参数
- windows - Windows 任务计划程序无法完全运行我的 powershellscript
- logging - 如何识别/var/log下使用log4j创建的所有日志文件
- javascript - 尝试从 material-ui 限制 TextField 并接收 inputRef 错误
- kotlin - 为什么 Kotlin 接口“未打开”?
- java - 使用 Wiremock 验证 Json 主体
- javascript - 单击外部链接时发出警告