介绍
这篇文章主要介绍如何利用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运行环境的镜像