1 获取⼀个简单的Docker系统镜像,并建⽴⼀个容器。 这⾥我选择下载CentOS镜像
docker pull centos
通过docker tag命令将下载的CentOS镜像名称换成centos,并删除⽼标签的镜像⽂件。
docker tag docker.io/centos centosdocker rmi docker.io/centos
2. JDK的安装和配置
去Oracle官⽹提前下载好所需的jdk。 建⽴⽂件夹,并将jdk copy到⽂件夹下。
[root@centos-docker ~]# mkdir centos-jdk
[root@centos-docker ~]# mv jdk-8u144-linux-x.tar.gz ./centos-jdk/ [root@centos-docker ~]# cd centos-jdk/ [root@centos-docker centos-jdk]# ls jdk-8u144-linux-x.tar.gz
在centos-jdk⽂件夹中建⽴Dockerfile,其内容如下:
# CentOS with JDK 8
# Author dockerzlnewbie
# build a new image with basic centosFROM centos
# who is the author
MAINTAINER dockerzlnewbie
# make a new directory to store the jdk filesRUN mkdir /usr/local/java
# copy the jdk archive to the image,and it will automaticlly unzip the tar fileADD jdk-8u141-linux-x.tar.gz /usr/local/java/
# make a symbol link
RUN ln -s /usr/local/java/jdk1.8.0_144 /usr/local/java/jdk# set environment variables
ENV JAVA_HOME /usr/local/java/jdkENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/libENV PATH ${JAVA_HOME}/bin:$PATH
根据Dokcerfile创建新镜像:
# 注意后边的 . 不能忘了
[root@centos-docker centos-jdk]# docker build -t=\"centos-jdk\" .Sending build context to Docker daemon 563.3 MBStep 1/9 : FROM centos ---> 49f7960eb7e4
Step 2/9 : MAINTAINER dockerzlnewbie ---> Running in 236e5d059e ---> 46f1ec0e9185
Removing intermediate container 236e5d059eStep 3/9 : RUN mkdir /usr/local/java ---> Running in 5bcabdff57
---> 8504b108f9
Removing intermediate container 5bcabdff57
Step 4/9 : ADD jdk-8u144-linux-x.tar.gz /usr/local/java/ ---> 6f93f8ae2f62
Removing intermediate container 763b95ac2d14
Step 5/9 : RUN ln -s /usr/local/java/jdk1.8.0_144 /usr/local/java/jdk ---> Running in 3fa23091d220
---> e65ff28dcd74
Removing intermediate container 3fa23091d220Step 6/9 : ENV JAVA_HOME /usr/local/java/jdk ---> Running in 3377346d4bf3 ---> e7ded6e2877b
Removing intermediate container 3377346d4bf3Step 7/9 : ENV JRE_HOME ${JAVA_HOME}/jre ---> Running in e91d136905cf ---> 673c511de63e
Removing intermediate container e91d136905cf
Step 8/9 : ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib ---> Running in 4b26957ba236 ---> e0bc33b6a9e0
Removing intermediate container 4b26957ba236Step 9/9 : ENV PATH ${JAVA_HOME}/bin:$PATH ---> Running in a70c96627f21 ---> a2bc40b96e4a
Removing intermediate container a70c96627f21Successfully built a2bc40b96e4a[root@centos-docker centos-jdk]#
查看新建⽴的镜像
[root@centos-docker centos-jdk]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZEcentos-jdk latest ad1110b84433 5 minutes ago 503 MBcentos latest e8f1bdb3b6a7 2 weeks ago 196.7 MB
建⽴容器,查看新的镜像中的JDK是否正确
[root@centos-docker centos-jdk]# docker run -it centos-jdk /bin/bash[root@708a2e94c413 /]# java -version # 出来结果表明配置没问题//# make a symbol link
RUN ln -s /usr/local/java/jdk1.8.0_144 /usr/local/java/jdk 这个在Dockerfile⽂件中⼀定要注意jdk⽬录路径 我本地多有⼀个jdk-8u144-linux-x
java version \"1.8.0_144\"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) -Bit Server VM (build 25.144-b01, mixed mode) [root@8fd53c588c83 /]# echo $JAVA_HOME /usr/local/java/jdk
[root@8fd53c588c83 /]#
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务