2025-10-27 19:45:13 +08:00
|
|
|
|
## 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/*
|
2026-02-27 11:00:00 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 使用本地 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 .
|
2025-10-27 19:45:13 +08:00
|
|
|
|
```
|