Files
container/构建JDK镜像.md
2026-02-27 11:00:00 +08:00

74 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 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 .
```