• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    利用Dockerfile制作java运行环境的镜像的方法步骤

    当前用到的环境是:

    1、先用centos7.5.1804的基础镜像把一些运行需要的环境装好

    在/app目录下创建相对应的文件目录

    [root@node2 /app/]# mkdir dockerfile/{web/{nginx,tomcat,jdk,apache},system/{centos,ubuntu,redhat}} -pv
    [root@node2 /app]# cd dockerfile/system/centos/
    [root@node2 /app/dockerfile/system/centos]# mkdir centos-7.5-base
    [root@node2 /app/dockerfile/system/centos]# cd centos-7.5-base
    

    创建一个Dockerfile文件

    [root@node2 /app/dockerfile/system/centos/centos-7.5-base]#vim Dockerfile 
    #Nginx Base Image
    FROM centos:7.5.1804
    
    LABEL maintaier "mr.luo <mr.luo@dklwj.com>"
    
    RUN yum install -y vim wget pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop
    

    创建一个用于直接docker build脚本后续直接执行脚本即可

    [root@node2 /app/dockerfile/system/centos/centos-7.5-base]#vim build-command.sh 
    #!/bin/bash
    docker build -t 172.20.7.50/baseimages/centos-base:7.5.1804 .

    执行脚本创建新镜像

    [root@node2 /app/dockerfile/system/centos/centos-7.5-base]#bash build-command.sh 
    Sending build context to Docker daemon 3.072kB
    Step 1/3 : FROM centos:7.5.1804
    ---> 76d6bc25b8a5
    Step 2/3 : LABEL maintaier 'mr.luo@dklwj.com'
    ---> Using cache
    ---> 05ccd970d71d
    Step 3/3 : RUN yum install -y vim wget  pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop
    ---> Using cache
    ---> 73d683a54877
    Successfully built 73d683a54877
    Successfully tagged 172.20.7.50/baseimages/centos-base:7.5.1804
    

    2、利用制作好的基础环境镜像制作jdk的镜像

    从centos-7.5-base退出来在当前目录创建一个jdk1.8的目录.

    [root@node2 /app/dockerfile/system/centos/centos-7.5-base]# cd ..
    [root@node2 /app/dockerfile/system/centos]# mkdir jdk1.8
    [root@node2 /app/dockerfile/system/centos]# cd jdk1.8/
    

    创建Dockerfile

    [root@node2 /app/dockerfile/system/centos/jdk1.8]#vim Dockerfile 
    FROM 172.20.7.50/baseimages/centos-base:7.5.1804
    LABEL maintainer "mr.luo <mr.luo@dklwj.com>"
    
    ADD jdk-8u162-linux-x64.tar.gz /usr/local/src/
    RUN ln -s /usr/local/src/jdk1.8.0_162/ /usr/local/jdk
    
    ADD profile /etc/profile
    
    ENV JAVA_HOME /usr/local/jdk
    ENV JRE_HOME $JAVA_HOME/jre
    ENV CLASSPATH $JAVA_HOME/lib/:$JRE_HOME/lib/
    ENV PATH $PATH:$JAVA_HOME/bin
    
    RUN rm -rf /etc/localtime && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
    

    上传jdk包到当前目录下:

    复制/etc/profile文件到当前目录

    [root@node2 /app/dockerfile/system/centos/jdk1.8]#cp profile /etc/profile

    在profile最后添加jdk的环境变量

    [root@node2 /app/dockerfile/system/centos/jdk1.8]#vim profile 
    export JAVA_HOME=/usr/local/jdk
    export TOMCAT_HOME=/apps/tomcat
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$TOMCAT_HOME/bin:$PATH
    export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

    创建docker build的shell脚本

    [root@node2 /app/dockerfile/system/centos/jdk1.8]#vim build-command.sh 
    #!/bin/bash
    #
    docker build -t 172.20.7.50/baseimages/centos7.5-jdk:8.162 .

    开始制作镜像

    [root@node2 /app/dockerfile/system/centos/jdk1.8]#bash build-command.sh 
      Sending build context to Docker daemon 189.8MB
      Step 1/10 : FROM 172.20.7.50/baseimages/centos-base:7.5.1804
       ---> 73d683a54877
      Step 2/10 : LABEL maintainer "mr.luo <mr.luo@dklwj.com>"
       ---> Running in 65604dd1f392
      Removing intermediate container 65604dd1f392
       ---> c4720603ce38
      Step 3/10 : ADD jdk-8u162-linux-x64.tar.gz /usr/local/src/
       ---> bc98adffe1b4
      Step 4/10 : RUN ln -s /usr/local/src/jdk1.8.0_162/ /usr/local/jdk
       ---> Running in df5a6f67f9fd
      Removing intermediate container df5a6f67f9fd
       ---> 0ae1af0416c6
      Step 5/10 : ADD profile /etc/profile
       ---> eee23a69c0c8
      Step 6/10 : ENV JAVA_HOME /usr/local/jdk
       ---> Running in edbef8563e83
      Removing intermediate container edbef8563e83
       ---> 5f783f642054
      Step 7/10 : ENV JRE_HOME $JAVA_HOME/jre
       ---> Running in fa0e5f08e732
      Removing intermediate container fa0e5f08e732
       ---> 28a4d31463d4
      Step 8/10 : ENV CLASSPATH $JAVA_HOME/lib/:$JRE_HOME/lib/
       ---> Running in 3c4ebb04ac62
      Removing intermediate container 3c4ebb04ac62
       ---> 245f2dd82d52
      Step 9/10 : ENV PATH $PATH:$JAVA_HOME/bin
       ---> Running in 4f5e6093f0a9
      Removing intermediate container 4f5e6093f0a9
       ---> 5be0e6261eea
      Step 10/10 : RUN rm -rf /etc/localtime && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
       ---> Running in 52d8cb8463a8
      Removing intermediate container 52d8cb8463a8
       ---> 9fb867ae8c39
      Successfully built 9fb867ae8c39
      Successfully tagged 172.20.7.50/baseimages/centos7.5-jdk:8.162
    

    查看当前目录下的文件

    [root@node2 /app/dockerfile/system/centos/jdk1.8]#ls
    build-command.sh Dockerfile jdk-8u162-linux-x64.tar.gz profile

    检查制作好的镜像是否能正常使用

    [root@node2 /app/dockerfile/system/centos/jdk1.8]#docker run -it --rm 172.20.7.50/baseimages/centos7.5-jdk:8.162 bash
    [root@919844b164dc /]# java -version 
    java version "1.8.0_162"
    Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
    [root@919844b164dc /]# date
    Thu Nov 22 21:17:49 CST 2018
    [root@919844b164dc /]# exit
    exit

    3、做Tomcat的镜像

    进入之前建好的/app/dockerfile/web/tomcat下,创建一个tomcat-base目录

    [root@node2 ~]# cd /app/dockerfile/web/tomcat 
    [root@node2 /app/dockerfile/web/tomcat]#mkdir tomcat-base

    创建Dockerfile

    [root@node2 /app/dockerfile/web/tomcat/tomcat-base]#vim Dockerfile 
    FROM 172.20.7.50/baseimages/centos7.5-jdk:8.162
    
    LABEL maintainer "mr.luo <mr.luo@dklwj.com>"
    
    RUN mkdir /apps
    ADD apache-tomcat-8.5.33.tar.gz /apps
    RUN ln -s /apps/apache-tomcat-8.5.33 /apps/tomcat
    
    

    创建docker build脚本

    [root@node2 /app/dockerfile/web/tomcat/tomcat-base]#vim build-command.sh 
    #!/bin/bash
    
    docker build -t 172.20.7.50/baseimages/centos-tomcat:8.5.33 .
    
    

    执行创建镜像文件:

    [root@node2 /app/dockerfile/web/tomcat/tomcat-base]#bash build-command.sh 
      Sending build context to Docker daemon 9.625MB
      Step 1/5 : FROM 172.20.7.50/baseimages/centos7.5-jdk:8.162
       ---> 9fb867ae8c39
      Step 2/5 : LABEL maintainer "mr.luo <mr.luo@dklwj.com>"
       ---> Running in 9ce6fc4d2850
      Removing intermediate container 9ce6fc4d2850
       ---> b68755061b28
      Step 3/5 : RUN mkdir /apps
       ---> Running in b483c6b127f2
      Removing intermediate container b483c6b127f2
       ---> 605c1a048a5f
      Step 4/5 : ADD apache-tomcat-8.5.33.tar.gz /apps
       ---> 3c44f96ed41c
      Step 5/5 : RUN ln -s /apps/apache-tomcat-8.5.33 /apps/tomcat
       ---> Running in 4c1aa39a6c92
      Removing intermediate container 4c1aa39a6c92
       ---> 9b3bc4f58cc9
      Successfully built 9b3bc4f58cc9
      Successfully tagged 172.20.7.50/baseimages/centos-tomcat:8.5.33
    

    利用创建好的镜像起一个容器检查下是否成功制作好,启动时加上-p暴露端口,在物理机上测试下

    [root@node2 /app/dockerfile/web/tomcat/tomcat-base]#docker run -it -p 8802:8080 172.20.7.50/baseimages/centos-tomcat:8.5.33 bash  
    [root@917b2c2262a3 /]# cd /apps/
    [root@917b2c2262a3 apps]# ll
    total 0
    drwxr-xr-x 9 root root 220 Nov 22 22:08 apache-tomcat-8.5.33
    lrwxrwxrwx 1 root root 26 Nov 22 22:08 tomcat -> /apps/apache-tomcat-8.5.33
    [root@917b2c2262a3 apps]# ./tomcat/bin/catalina.sh start
    Using CATALINA_BASE:  /apps/tomcat
    Using CATALINA_HOME:  /apps/tomcat
    Using CATALINA_TMPDIR: /apps/tomcat/temp
    Using JRE_HOME:    /usr/local/jdk/jre
    Using CLASSPATH:    /apps/tomcat/bin/bootstrap.jar:/apps/tomcat/bin/tomcat-juli.jar
    Tomcat started.

    在客户端用浏览器测试

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:使用 Docker 企业版搭建自己的私有注册服务器
    下一篇:VMware下CentOS静默安装oracle12.2详细图文教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    利用Dockerfile制作java运行环境的镜像的方法步骤 利用,Dockerfile,制作,java,