![](/img/trans.png)
[英]How to write a dockerfile to add maven build on existing spring boot project which contains jdk
[英]How do I build a Spring Boot app (Maven) with a Dockerfile?
我寫了一個 Hello World Spring Boot 應用程序。 這是一個Maven項目。
現在我想dockerize這個應用程序。 .jar 是由 Docker 創建的,這一點很重要。
Dockerfile:
FROM maven:3.5-jdk-8 AS build
WORKDIR /app
COPY src .
COPY pom.xml .
RUN mvn -f pom.xml clean package
FROM openjdk:8-alpine
COPY --from=build /src/app/target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"]
創作不斷失敗。 我在 Dockerfile 中做錯了什么? 我從這篇文章中得到了 Dockerfile 的基本概念。 如何dockerize Maven 項目? 以及有多少方法可以實現?
首先使用 Maven 構建/清理您的應用程序,然后 .jar 文件(或 .war)將位於 Dockerfile 的 /target 目錄中,添加以下內容:
FROM openjdk:12
ADD target/<jar-name-in-target>.jar docker-spring.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "docker-spring.jar"]
然后構建你的 Dockerfile
以下 dockerfile 有效。
# Build stage
FROM maven:3.6.3-jdk-8-slim AS build
COPY src /home/app/src
COPY pom.xml /home/app
RUN mvn -f /home/app/pom.xml clean test package
# Package stage
FROM openjdk:8-jdk-alpine
COPY --from=build /home/app/target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.