概述
某些情况下环境不同步会造成的 Maven Package 失败,使用 Maven 的 Docker 镜像对工程进行打包可以避免这种问题。
Dockerfile
以下镜像基于 JDK17 构建,如果需要其他版本请自行修改。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| FROM maven:3-eclipse-temurin-17-focal AS build MAINTAINER yourname <youremail@example.com>
ADD . /app/yourappname RUN cd /app/yourappname && mvn install -Dmaven.test.skip=true && mvn clean package -Dmaven.test.skip=true
FROM openjdk:17 MAINTAINER yourname <youremail@example.com>
ENV LANG=C.UTF-8 \ LC_ALL=C.UTF-8
ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \ echo $TZ > /etc/timezone
CMD ["bash"]
WORKDIR /app
COPY --from=build /app/yourappname/target/*.jar ./app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app/app.jar"]
|
构建
1
| docker build -t your-app-name:your.version .
|
References