云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

centos7 java dockerfile(centos7命令行配置ip地址)

jxf315 2025-07-14 17:54:54 教程文章 1 ℃
FROM centos:7
LABEL maintainer="wangjianyu@qq.com"


# 1. 修复 CentOS 7 的 yum 源(因官方源已关闭)
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && \
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*



# 2. 安装 OpenJDK 8(包含 JDK 和 JRE)
RUN yum install -y java-1.8.0-openjdk-devel java-1.8.0-openjdk which vim net-tools  && \
    yum clean all 

# 3. 自动检测并设置环境变量
RUN \
    # 检测 JAVA_HOME(通过 javac 路径)
    JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac)))) && \
    # 检测 JRE_HOME(通过 java 路径)
    JRE_HOME=$(dirname $(dirname $(readlink -f $(which java)))) && \
    # 写入环境变量配置文件
    echo "export JAVA_HOME=${JAVA_HOME}" >> /etc/profile.d/java_env.sh && \
    echo "export JRE_HOME=${JRE_HOME}" >> /etc/profile.d/java_env.sh && \
    echo 'export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib' >> /etc/profile.d/java_env.sh && \
    echo 'export PATH=${JAVA_HOME}/bin:${PATH}' >> /etc/profile.d/java_env.sh

# 4. 硬编码环境变量(双保险)
ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
ENV JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk/jre
ENV CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
ENV PATH=$JAVA_HOME/bin:$PATH

# 5. 验证安装
RUN source /etc/profile.d/java_env.sh && \
    java -version && \
    javac -version && \
    echo "JAVA_HOME=${JAVA_HOME}" && \
    echo "JRE_HOME=${JRE_HOME}" && \
    echo "CLASSPATH=${CLASSPATH}" && \
    ls -l $JAVA_HOME $JRE_HOME 

# 6. 容器启动时自动加载环境变量
CMD ["/bin/bash", "-c", "source /etc/profile.d/java_env.sh && /bin/bash"]
最近发表
标签列表