簡體   English   中英

如何使用 Dockerfile 構建 Spring Boot 應用程序 (Maven)?

[英]How do I build a Spring Boot app (Maven) with a Dockerfile?

我寫了一個 Hello World Spring Boot 應用程序。 這是一個Maven項目。

本地主機:8080

現在我想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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM