2025-09-16 21:25:24 +08:00

95 lines
2.5 KiB
Docker
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.

# 使用CentOS 8作为基础镜像
FROM centos:8
# 设置元数据标签
LABEL maintainer="小蚂蚁云团队" \
version="1.0" \
description="基于Rocky Linux 8的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
# 设置工作目录
WORKDIR /tmp
# 复制本地JRE压缩包到镜像中
COPY jre-8u202-linux-x64.tar.gz /tmp/
# 安装必要的系统包并配置环境
RUN set -eux; \
\
# 更新系统并安装中文语言支持
dnf update -y && \
dnf install -y \
tzdata \
glibc-langpack-zh \
glibc-langpack-en \
fontconfig \
dejavu-sans-fonts \
dejavu-serif-fonts \
dejavu-sans-mono-fonts \
wqy-microhei-fonts \
&& \
\
# 清理dnf缓存以减少镜像大小
dnf clean all && \
rm -rf /var/cache/dnf; \
\
# 配置时区
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
echo $TZ > /etc/timezone; \
\
# 生成中文本地化配置
localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 && \
localedef -c -f UTF-8 -i en_US en_US.UTF-8; \
\
# 设置系统语言环境
echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf; \
\
# 创建Java安装目录
mkdir -p /usr/local/java; \
\
# 解压JRE并设置权限JRE包解压后通常直接包含jre目录
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/bin/jre; \
\
# 创建字体目录
mkdir -p /usr/share/fonts/ && \
chmod 755 /usr/share/fonts/ && \
cp ./fonts/simsun.ttf /usr/share/fonts/ && \
\
# 更新字体缓存
fc-cache -fv; \
\
# 验证JRE安装
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;
# 切换到应用目录
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"]