add java runtime
This commit is contained in:
67
java_runtime/Dockerfile
Normal file
67
java_runtime/Dockerfile
Normal file
@ -0,0 +1,67 @@
|
||||
# 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"]
|
||||
Reference in New Issue
Block a user