繁体   English   中英

连接到github / bitbucket存储库时,自动化的Spring Boot Docker Image无法在Docker Hub上构建

[英]Automated Spring boot Docker Image failed to build on docker hub when connected to github/bitbucket repository

我在春季引导中有一个简单的Dockerfile,如下所示。 我能够在本地成功构建映像,并且可以使用我的凭据进行推送。

但是我的构建在每次自动构建的尝试中始终失败。

 FROM openjdk:8-jdk-alpine LABEL maintainer="xxxxx@xxx.com" VOLUME /tmp EXPOSE 8080 ARG JAR_FILE=target/jollof.jar ADD ${JAR_FILE} jollof.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","- jar","/jollof.jar"] 

从docker hub,我从日志中得到了这个。

 Building in Docker Cloud's infrastructure... Cloning into '.'... Warning: Permanently added the RSA host key for IP address 'xxx.xx.xxx.xxx' to the list of known hosts. .... .... Step 6/7 : ADD ${JAR_FILE} jollof.jar ADD failed: stat /var/lib/docker/tmp/docker- builder674045875/target/jollof.jar: no such file or directory 

与您的本地环境不同,Docker Hub会在一个全新的环境中进行获取,然后构建您的项目,因此,要复制的文件target/jollof.jar在Docker上下文中不可用。 因此,您观察到错误。

因此,我建议重构您的Dockerfile ,以便在Dockerfile本身中完成mvn package (出于可再现性的考虑,这是最佳做法)。 请注意,此配置将适用于Docker Hub的自动构建以及您本地环境中的构建。

例如,下面是一个示例Dockerfile ,该示例Dockerfile SO解答的启发。 如何将Spring-Boot Web服务转换为Docker映像? 以及您的帖子的Dockerfile

FROM maven:3.6-jdk-8 as maven
WORKDIR /app
COPY ./pom.xml ./pom.xml
RUN mvn dependency:go-offline -B
COPY ./src ./src

# TODO: jollof-* should be replaced with the proper prefix
RUN mvn package && cp target/jollof-*.jar app.jar

# Rely on Docker's multi-stage build to get a smaller image based on JRE
FROM openjdk:8-jre-alpine
LABEL maintainer="xxxxx@xxx.com"
WORKDIR /app
COPY --from=maven /app/app.jar ./app.jar

# VOLUME /tmp  # optional
EXPOSE 8080    # also optional

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/app.jar"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM