美文网首页
docker第三天: 构建centos7+java8+maven

docker第三天: 构建centos7+java8+maven

作者: LOC_Thomas | 来源:发表于2017-08-15 15:30 被阅读0次

    配置环境

    通过学习docker,来编写Dockerfile来构建java的环境

    centos的image构建

    直接使用docker hub的centos镜像

    java8的image

    基于上面的centos的镜像构建

    首先来看看编写的Dockerfile

    FROM centos
    
    MAINTAINER Dragon Long "dragonlong1986@126.com"
    ADD jdk-8u144-linux-x64.tar.gz /usr/local
    
    RUN \
      mkdir -p /usr/lib/jvm && \
      mv /usr/local/jdk1.8.0_144  /usr/lib/jvm/java-8-oracle && \
      update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-oracle/bin/java 300 && \
      update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-8-oracle/bin/javac 300
    
    #环境变量
    ENV JAVA_HOME /usr/lib/jvm/java-8-oracle/
    

    首先下载 jdk-8u144-linux-x64.tar.gz 作为jdk的包,
    接着通过ADD命令添加到docker容器
    然后通过执行RUN命令,创建目录,然后把jdk移到固定的目录,然后用update-alternatives创建来维护系统命令java和javac的符号链接
    最后通过ENV来设置环境变量

    最后通过 docker build -t jdk8:v1 . 来进行build

    maven的image

    基于上面的jdk8来进行构建maven的镜像

    所编写的Dockfile

    FROM jdk8:v1
    
    MAINTAINER Dragon Long "dragonlong1986@126.com"
    
    ADD apache-maven-3.5.0-bin.tar.gz /usr/local
    
    RUN \
      mkdir -p /usr/lib/maven && \
      mkdir -p /root/.m2 && \
      mv /usr/local/apache-maven-3.5.0  /usr/lib/maven/apache-maven-3.5.0 && \
      update-alternatives --install /usr/bin/mvn mvn /usr/lib/maven/apache-maven-3.5.0/bin/mvn 300
    
    COPY settings.xml /root/.m2/settings.xml
    ENV M2_HOME /usr/lib/maven/apache-maven-3.5.0
    

    步骤和上面的差不多,下载maven安装包,安装maven,然后设置maven的settings.xml文件,最后设置环境变量,再通过 docker build -t maven:v1 . 来进行build。

    验证

    通过命令 docker images 来查看镜像
    然后通过 docker run -it --rm maven:v1 bash 启动并且进入到容器,然后执行 mvn -version 来检验maven是否安装成功

    git-client的image

    基于上面的maven来构建git-client的镜像

    先上Dockerfile的代码

    FROM maven:v1
    MAINTAINER Dragon Long, dragonlong1986@126.com
    
    # Upgrading system
    RUN \
        yum -y install git && \
        yum clean all
    

    直接使用yum来进行安装git,然后清除掉yum,然后通过 docker build -t git:v1 .来构建镜像。

    最后可以启动在git构成的image的容器,通过git命令来进行代码的clone和编译。

    相关文章

      网友评论

          本文标题:docker第三天: 构建centos7+java8+maven

          本文链接:https://www.haomeiwen.com/subject/khcvrxtx.html