签入版本
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
# 使用Rocky Linux 8作为基础镜像
|
||||
FROM rockylinux: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"]
|
||||
Reference in New Issue
Block a user