我有一个 Spring Boot 项目,并尝试在 OpenShift V3 上使用 Docker 文件构建项目。
问题是我的 git repo 中只有我的源代码;没有目标目录或 jar 文件。我的 Dockerfile 无法获得最终工件(将应用程序打包到 jar 中)。
以下是我的 docker 文件内容
FROM bdf/api-java8-maven-exp-srv-builder
EXPOSE 8080
VOLUME /tmp
WORKDIR /code
ADD pom.xml /code/pom.xml
ADD Dockerfile /code
RUN ["mvn", "dependency:resolve"]
RUN ["mvn", "verify"]
ADD src /code/src
RUN ["mvn", "package"]
ADD /code/target/springbootdemo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.profiles.active=container","-jar","/app.jar"]
除 ADD /code/target/springbootdemo-0.0.1-SNAPSHOT.jar app.jar 外,所有命令均正常工作
命令:RUN ["mvn", "package"] - 成功执行并显示 jar 文件已在控制台上的位置 /target/springbootdemo-0.0.1-SNAPSHOT.jar 创建
*项目文件夹结构
Project Name-
- src Folder
- mvn/wrapper
- Docker File
- Pom.XML
- mvnw
- mvnwc