您好,欢迎来到年旅网。
搜索
您的当前位置:首页docker采用Dockerfile安装jdk1.8案例

docker采用Dockerfile安装jdk1.8案例

来源:年旅网
docker采⽤Dockerfile安装jdk1.8案例

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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务