## JDK21 ``` FROM docker.1ms.run/eclipse-temurin:21-jdk ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye main contrib non-free" > /etc/apt/sources.list && \ echo "deb https://mirrors.aliyun.com/debian-security/ bullseye-security main contrib non-free" >> /etc/apt/sources.list && \ echo "deb https://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free" >> /etc/apt/sources.list && \ apt-get update && \ apt-get install -y git maven && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* ``` ## JDK8 ``` FROM docker.1ms.run/maven:3.8.6-jdk-8 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN echo "deb https://mirrors.aliyun.com/debian/ bullseye main contrib non-free" > /etc/apt/sources.list && \ echo "deb https://mirrors.aliyun.com/debian-security/ bullseye-security main contrib non-free" >> /etc/apt/sources.list && \ echo "deb https://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free" >> /etc/apt/sources.list && \ apt-get update && \ apt-get install -y git && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* ``` ## 使用本地 JDK 与 Maven 构建 要先下载 OpenJDK 和 Maven,与 Dockerfile 同级目录,分别命名为 jdk-21 和 mvn-3,目录结构: - Dockerfile - jdk-21/ - mvn-3/ ```shell FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive \ TZ=Asia/Shanghai RUN apt-get update && \ apt-get install -y --no-install-recommends \ locales \ tzdata \ ca-certificates \ git && \ rm -rf /var/lib/apt/lists/* RUN locale-gen zh_CN.UTF-8 en_US.UTF-8 ENV LANG=zh_CN.UTF-8 \ LANGUAGE=zh_CN:zh \ LC_ALL=zh_CN.UTF-8 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ dpkg-reconfigure -f noninteractive tzdata WORKDIR /opt COPY jdk-21 jdk21 COPY mvn-3 mvn ENV JAVA_HOME=/opt/jdk21 \ MAVEN_HOME=/opt/mvn \ PATH="/opt/jdk21/bin:/opt/mvn/bin:${PATH}" ``` 执行命令开始构建 ```shell docker build -t ubuntu-jdk-21 . ```