# 使用 Debian 13 (trixie) 作为基础镜像 # debian:trixie-slim(Debian 13 的代号) FROM debian:trixie-slim # 设置元数据标签 LABEL maintainer="小蚂蚁云团队" \ version="1.0" \ description="基于Debian的JRE 8u202运行环境(支持中英文)" \ java.version="1.8.0_202" # 设置环境变量 ENV TZ=Asia/Shanghai \ LANG=zh_CN.UTF-8 \ LANGUAGE=zh_CN:zh:en_US:en \ LC_ALL=zh_CN.UTF-8 \ JAVA_HOME=/usr/local/jre1.8.0_202 \ PATH=/usr/local/jre1.8.0_202/bin:$PATH \ DEBIAN_FRONTEND=noninteractive # 设置工作目录 WORKDIR /tmp # 复制本地JRE压缩包到镜像中 COPY jre-8u202-linux-x64.tar.gz /tmp/ # 安装必要的系统包并配置环境 RUN set -eux; \ \ # 配置阿里云Debian镜像源 echo "deb http://mirrors.aliyun.com/debian/ bookworm main non-free non-free-firmware" > /etc/apt/sources.list; \ echo "deb http://mirrors.aliyun.com/debian/ bookworm-updates main non-free non-free-firmware" >> /etc/apt/sources.list; \ echo "deb http://mirrors.aliyun.com/debian/ bookworm-backports main non-free non-free-firmware" >> /etc/apt/sources.list; \ echo "deb http://mirrors.aliyun.com/debian-security bookworm-security main non-free non-free-firmware" >> /etc/apt/sources.list; \ \ # 更新系统并安装中文语言支持 apt-get update && \ apt-get install -y --no-install-recommends \ tzdata \ locales \ fontconfig \ fonts-dejavu \ fonts-wqy-microhei \ ca-certificates \ && \ \ # 清理apt缓存以减少镜像大小 apt-get clean && \ rm -rf /var/lib/apt/lists/*; \ \ # 配置时区 ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \ echo $TZ > /etc/timezone; \ \ # 生成中文本地化配置 echo "zh_CN.UTF-8 UTF-8" > /etc/locale.gen; \ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; \ locale-gen; \ \ # 设置系统语言环境 update-locale LANG=zh_CN.UTF-8; \ \ # 解压JRE到/usr/local目录 tar -xzf jre-8u202-linux-x64.tar.gz -C /usr/local/ && \ \ # 删除临时文件 rm -f jre-8u202-linux-x64.tar.gz; \ \ # 创建符号链接以便版本升级时更容易管理 ln -sf /usr/local/jre1.8.0_202 /usr/local/jre; \ \ # 创建全局可执行文件链接 update-alternatives --install "/usr/bin/java" "java" "/usr/local/jre/bin/java" 1 && \ update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/jre/bin/javac" 1 && \ update-alternatives --set java /usr/local/jre/bin/java; \ \ # 创建字体目录并设置权限 mkdir -p /usr/share/fonts/truetype/ && \ chmod 755 /usr/share/fonts/truetype/; \ \ # 更新字体缓存 fc-cache -fv; \ \ # 验证JRE安装 java -version && \ /usr/local/jre/bin/java -version; \ \ # 创建非root用户用于运行Java应用 groupadd -r esxi && \ useradd -r -g esxi -d /opt/esxi -s /bin/bash esxi && \ mkdir -p /opt/esxi && \ chown -R esxi:esxi /opt/esxi; \ \ # 设置文件权限 chmod -R 755 /usr/local/jre1.8.0_202 && \ chown -R root:root /usr/local/jre1.8.0_202 # 切换到应用目录 WORKDIR /opt/apps # 设置默认用户 #USER esxi # 设置健康检查 HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ CMD java -version > /dev/null 2>&1 || exit 1 # 设置默认启动命令 CMD ["java", "-version"]