如何利用Dockerfile制作java运行环境的镜像

  介绍

这篇文章主要介绍如何利用Dockerfile制作java运行环境的镜像,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

当前用到的环境是:

<李>

Centos 7.5

<李>

docker-ce 18.06.1-ce

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

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

[root@node2 /app/] #, mkdir  Dockerfile/{web/{nginx, tomcat, jdk, apache},系统/{Centos, ubuntu, redhat}}, pv   【root@node2 /应用程序】#,cd  dockerfile/系统/centos/[root@node2 /app/dockerfile/系统/centos] #, centos mkdir  7.5 -基地   [root@node2 /app/dockerfile/系统/centos] #, cd  centos - 7.5基地

创建一个dockerfile文件

[root@node2 /app/dockerfile/系统/centos/centos - 7.5 -基]# vim  Dockerfile    # Nginx  Base 形象   得到centos: 7.5.1804      LABEL  maintaier “mr.luo  & lt; mr.luo@dklwj.com>“      RUN  yum  install  -y  vim  wget  pcre  pcre-devel  zlib  zlib-devel  openssl  openssl-devel  iproute  net-tools  iotop

创建一个用于直接码头工人建立脚本后续直接执行脚本即可

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

执行脚本创建新镜像

[root@node2 /app/dockerfile/系统/centos/centos - 7.5 -基]# bash  build-command.sh    Sending  build  context 用Docker  daemon  3.072 kb   Step  1/3 :得到centos: 7.5.1804   ——→76 d6bc25b8a5   Step  2/3 : LABEL  maintaier  & # 39; mr.luo@dklwj.com& # 39;   ——→Using 缓存   ——→05 ccd970d71d   Step  3/3 : RUN  yum  install  -y  vim  wget , pcre  pcre-devel  zlib  zlib-devel  openssl  openssl-devel  iproute  net-tools  iotop   ——→Using 缓存   ——→73 d683a54877   d683a54877 Successfully  built  73   Successfully  tagged  172.20.7.50/baseimages/centos-base: 7.5.1804

<强> 2,利用制作好的基础环境镜像制作jdk的镜像

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

 [root@node2 /app/dockerfile/系统/centos/centos - 7.5 -基]#,cd  . .
  [root@node2 /app/dockerfile/系统/centos] #, mkdir  jdk1.8
  [root@node2 /app/dockerfile/系统/centos] #, cd  jdk1.8/

创建dockerfile

[root@node2 /app/dockerfile/系统/centos/jdk1.8] # vim  Dockerfile    得到172.20.7.50/baseimages centos-base: 7.5.1804   LABEL  maintainer “mr.luo  & lt; mr.luo@dklwj.com>“      ADD  jdk-8u162-linux-x64.tar.gz /usr/地方/src/RUN  ln  -s /usr/地方/src/jdk1.8.0_162/,/usr/地方/jdk      ADD  profile /etc/profile      ENV  JAVA_HOME /usr/地方/jdk   ENV  JRE_HOME  $ JAVA_HOME/jre   ENV  CLASSPATH  $ JAVA_HOME/lib/: $ JRE_HOME/lib/ENV  PATH  $路径:$ JAVA_HOME/bin      RUN  rm  -rf /etc/localtime ,,, ln  -snf /usr/share/zoneinfo/亚洲/Shanghai /etc/localtime ,,, echo “亚洲/Shanghai",祝辞,/etc/时区

上传jdk包到当前目录下:

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

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

在概要文件最后添加jdk的环境变量

[root@node2 /app/dockerfile/系统/centos/jdk1.8] # vim  profile    export  JAVA_HOME=/usr/地方/jdk   export  TOMCAT_HOME=/应用程序/tomcat   export 路径=$ JAVA_HOME/bin: $ JAVA_HOME/jre/bin: $ TOMCAT_HOME/bin:美元的道路   export  CLASSPATH=美元类路径:$ JAVA_HOME/lib: $ JAVA_HOME/jre/lib: $ JAVA_HOME/lib/工具。jar

创建码头工人建造的shell脚本

[root@node2 /app/dockerfile/系统/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/系统/centos/jdk1.8] # bash  build-command.sh    Sending 才能;build  context 用Docker  daemon  189.8 mb   Step  1/10 :才能,得到172.20.7.50/baseimages/centos-base: 7.5.1804   ,,——→73 d683a54877   Step 才能;2/10 :, LABEL  maintainer “mr.luo  & lt; mr.luo@dklwj.com>“   ,,——→Running  65604 dd1f392拷贝   Removing 才能;intermediate  container  65604 dd1f392   ,,——→c4720603ce38   Step 才能;3/10 :, ADD  jdk-8u162-linux-x64.tar.gz /usr/地方/src/,,——→bc98adffe1b4   Step 才能;4/10 :, RUN  ln  -s /usr/地方/src/jdk1.8.0_162/,/usr/地方/jdk   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何利用Dockerfile制作java运行环境的镜像