docker - DockerHub Autobuild 失败但在本地成功
问题描述
Docker 构建在我的本地成功,但在链接到我的 Github 帐户的 docker hub 上自动构建失败。你能建议我哪里出错了吗?
Dockerfile
FROM openjdk:8-jdk-alpine
RUN addgroup -S spring && adduser -S spring -G spring
USER spring:spring
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
我在 DockerHub 上的构建配置
这是构建错误
Step 5/6 : COPY ${JAR_FILE} app.jar
COPY failed: no source files were specified
解决方案
我们需要在这里进行多阶段构建。下面是我的 DockerFile 的参考
#
# Build stage
#
FROM maven:3.6.0-jdk-11-slim AS build
COPY src /home/app/src
COPY pom.xml /home/app
RUN mvn -f /home/app/pom.xml clean package
#
# Package stage
#
FROM openjdk:11-jre-slim
COPY --from=build /home/app/target/*.jar /usr/local/lib/app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/usr/local/lib/app.jar"]
推荐阅读
- django - 使用线程本地存储问题使用 django 通道进行日志记录
- django - 通常在数据库中有许多过期的身份验证令牌吗?系统不应该自动删除它们吗?
- javascript - 将一个文件夹中的 .js 文件导入另一个文件夹中的 spec.js 文件时出错
- javascript - 在javascript中将字符串转换为数组?
- javascript - 在 JSP 中获取和使用值
- javascript - 使用 React 在循环中更改路径
- javascript - 查找最近的数组索引以进行准确计算
- authentication - IdentityServer4:我可以在 IdentityServer 中将 PKCE 与客户端凭据一起使用吗?
- python - 无法将 chrome 与 selenium 和 python 一起使用
- ios - 清除 WKWebView 历史记录,避免在浏览历史记录中来回走动