一、准备工作(在linux环境中)

1、下载Maven和Jdk

本文使用的版本是apache-maven-3.9.9-bin.tar.gz和jdk-17.0.8.tar.gz。其他版本请自行修改

2、准备好Dockerfile

PS: 为了方便最好Dockerfile、apache-maven-3.9.9-bin.tar.gz和jdk-17.0.8.tar.gz三个文件在同一级目录中

# 第一阶段:构建阶段
FROM ubuntu:24.04 AS builder

# 安装基础依赖
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
&& rm -rf /var/lib/apt/lists/*

# 复制并解压JDK
COPY jdk-17.0.8.tar.gz /tmp/
RUN mkdir -p /usr/local/java && \
tar -xzf /tmp/jdk-17.0.8.tar.gz -C /usr/local/java && \
rm /tmp/jdk-17.0.8.tar.gz

# 复制并解压Maven
COPY apache-maven-3.9.9-bin.tar.gz /tmp/
RUN mkdir -p /usr/local/maven && \
tar -xzf /tmp/apache-maven-3.9.9-bin.tar.gz -C /usr/local/maven --strip-components=1 && \
rm /tmp/apache-maven-3.9.9-bin.tar.gz

# 复制Maven设置文件
COPY settings.xml /usr/local/maven/conf/settings.xml

# 第二阶段:运行阶段
FROM ubuntu:24.04

# 维护者信息
LABEL maintainer="junmowen"

# 安装运行时依赖(最小化安装)
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

# 从构建阶段复制已安装的JDK和Maven
COPY --from=builder /usr/local/java /usr/local/java
COPY --from=builder /usr/local/maven /usr/local/maven

# 设置环境变量
ENV JAVA_HOME=/usr/local/java/jdk-17.0.8
ENV MAVEN_HOME=/usr/local/maven
ENV PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

# 设置工作目录
WORKDIR /workspace

# 验证安装
RUN java -version && mvn -v

# 设置默认命令
CMD ["/bin/bash"]

构建镜像

docker build -t myapp .

3、在自己的项目中使用CICD查看