【发布时间】:2020-05-24 04:50:34
【问题描述】:
老板放假了,我是java开发者,对docker了解不多(只有基础知识)
我有 java Spring boot 项目,项目的根目录下有一个 Dockerfile。
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
我想在不修改结构的情况下添加 maven。并且maven应该清理它。?
例如。 docker build -t user/myimage .
它应该自动安装 maven 并清理我的项目。 无需我显式运行 mvn clean package
我之前从stackoverflow 获得的资源很少,但我无法进行实验,我需要可以运行之前提到的给定 jdk 脚本的代码。
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
我请求您为 Maven 清洁包提供一个等效的脚本,以便我可以将它添加到构建我的图像的 dockerfile 中。
【问题讨论】:
-
您是要在容器中构建 Spring Boot 应用程序源代码(目前为止),还是构建您的 Spring Boot 应用程序,然后构建包含新构建的 jar 的容器? (两个不同的东西)
-
Dockerfile已经存在,它只包含运行jar的代码,见第一段代码,现在我想在java运行脚本的顶部添加maven构建脚本,这样我就可以从 docker build -t 本身构建它。
标签: java spring-boot maven docker