68 lines
1.8 KiB
Docker
68 lines
1.8 KiB
Docker
# Java Runtime Image
|
|
# 多版本 JRE 运行时环境,用于运行各种 Java 服务
|
|
|
|
FROM debian:bookworm
|
|
|
|
LABEL maintainer="www.imyeyu.com"
|
|
LABEL description="Java Runtime with JRE 8/21 for running Java services"
|
|
|
|
# 环境变量
|
|
ENV LANG=C.UTF-8 \
|
|
LC_ALL=C.UTF-8 \
|
|
TZ=Asia/Shanghai
|
|
|
|
# JRE 路径
|
|
ENV JAVA8_HOME=/usr/lib/jvm/temurin-8-jre-amd64 \
|
|
JAVA21_HOME=/usr/lib/jvm/temurin-21-jre-amd64
|
|
|
|
# 默认使用 JRE 21
|
|
ENV JAVA_HOME=${JAVA21_HOME} \
|
|
PATH="${JAVA21_HOME}/bin:${PATH}"
|
|
|
|
# 安装依赖和 JRE
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
# 基础工具
|
|
ca-certificates \
|
|
curl \
|
|
gnupg \
|
|
# 用户指定依赖
|
|
openssh-client \
|
|
libncurses6 \
|
|
libncursesw6 \
|
|
perl-base \
|
|
perl \
|
|
libfreetype6 \
|
|
fontconfig \
|
|
fonts-wqy-microhei \
|
|
fonts-wqy-zenhei \
|
|
fonts-arphic-ukai \
|
|
fonts-arphic-uming \
|
|
# Java 服务运行常用依赖
|
|
procps \
|
|
net-tools \
|
|
iproute2 \
|
|
tzdata \
|
|
locales \
|
|
# 图形处理
|
|
libjpeg62-turbo \
|
|
libpng16-16 \
|
|
# 数据库客户端库
|
|
libmariadb3 \
|
|
libpq5 \
|
|
# 添加 Adoptium 仓库
|
|
&& curl -fsSL https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor -o /usr/share/keyrings/adoptium.gpg \
|
|
&& echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main" > /etc/apt/sources.list.d/adoptium.list \
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
temurin-8-jre \
|
|
temurin-21-jre \
|
|
# 配置时区
|
|
&& ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone \
|
|
# 清理
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
CMD ["java", "-version"]
|