From 2e1718317c7eba3a47219e3d65ff6e4ca1e08848 Mon Sep 17 00:00:00 2001 From: Timi Date: Thu, 22 Jan 2026 15:20:53 +0800 Subject: [PATCH] add java runtime --- java_runtime/Dockerfile | 67 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 java_runtime/Dockerfile diff --git a/java_runtime/Dockerfile b/java_runtime/Dockerfile new file mode 100644 index 0000000..d4ae3e6 --- /dev/null +++ b/java_runtime/Dockerfile @@ -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"]