基于Centos7制作OpenJdk8镜像,并安装常用工具

179 阅读1分钟
  1. 宿主机本地下载资源

    mkdir tmpData
    wget -P ./tmpData https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u412-b08/openlogic-openjdk-8u412-b08-linux-x64.tar.gz
    wget -P ./tmpData https://mirrors.aliyun.com/repo/Centos-7.repo
    
  2. 执行下面命令创建Dockerfile文件

    安装常见的工具的版本

    sudo tee Dockerfile <<'EOF'
    # Using Centos for base image
    FROM centos:centos7
    
    # author label
    LABEL maintainer="liboshuai"
    
    # copy jdk8 to /usr/local, and decompression
    COPY ./tmpData/* /usr/local
    
    # install timezone gcc
    RUN cd /usr/local \
    && mv Centos-7.repo /etc/yum.repos.d \
    && tar -zxvf openlogic-openjdk-8u412-b08-linux-x64.tar.gz \
    && mv openlogic-openjdk-8u412-b08-linux-x64 openjdk8u412 \
    && rm -rf openlogic-openjdk-8u412-b08-linux-x64.tar.gz \
    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && cd /etc/yum.repos.d \
    && 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-*  \
    && yum clean all \
    && yum makecache \
    && yum update -y \
    && yum install -y vim gettext pcre pcre-devel gcc gcc-c++ zlib zlib-devel ruby unzip zip openssl openssl-devel patch lsof wget net-tools\
    && yum clean all
    
    # cd /opt
    WORKDIR /usr/local
    
    # set jdk8 env
    ENV JAVA_HOME=/usr/local/openjdk8u412
    ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    ENV PATH=$JAVA_HOME/bin:$PATH
    
    # exec java -version
    CMD ["java","-version"]
    EOF
    

    如果不需要安装额外的工具,可以使用下面

    sudo tee Dockerfile <<'EOF'
    # Using Centos for base image
    FROM centos:centos7
    
    # author label
    LABEL maintainer="liboshuai"
    
    # copy jdk8 to /usr/local, and decompression
    COPY ./tmpData/* /usr/local
    
    # setting timezone
    RUN cd /usr/local \
    && tar -zxvf openlogic-openjdk-8u412-b08-linux-x64.tar.gz \
    && mv openlogic-openjdk-8u412-b08-linux-x64 openjdk8u412 \
    && rm -rf openlogic-openjdk-8u412-b08-linux-x64.tar.gz \
    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
    # cd /opt
    WORKDIR /usr/local
    
    # set jdk8 env
    ENV JAVA_HOME=/usr/local/openjdk8u412
    ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    ENV PATH=$JAVA_HOME/bin:$PATH
    
    # exec java -version
    CMD ["java","-version"]
    EOF
    
  3. 进行镜像构建

    docker build --network=host -f Dockerfile -t centos7_openjdk8:latest .