74 lines
2.1 KiB
Markdown
74 lines
2.1 KiB
Markdown
## 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 .
|
||
``` |