新建文件夹用于存放 JDK 安装包 Dockerfile 文件
[root@master ~]# mkdir centos-jdk
[root@master ~]# mv jdk-8u141-linux-x64.tar.gz ./centos-jdk/
[root@master ~]# cd centos-jdk/
编写 Dockerfile
[root@localhost centos-jdk]# vi Dockerfile
FROM daocloud.io/centos
MAINTAINER Guo
RUN mkdir /usr/local/java
ADD jdk-8u141-linux-x64.tar.gz /usr/local/java
RUN ln -s /usr/local/java/jdk1.8.0_141 /usr/local/java/jdk
ENV JAVA_HOME /usr/local/java/jdk
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH. :${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH :${JAVA_HOME}/bin:$PATH
使用 docker build 命令构建新镜像
[root@localhost centos-jdk]# docker build -t="centos-jdk" .
Sending build context to Docker daemon 185.5MB
Step 1/9 : FROM daocloud.io/centos
latest: Pulling from centos
7a0437f04f83: Pull complete
Digest: sha256:dbbacecc49b088458781c16f3775f2a2ec7521079034a7ba499c8b0bb7f86875
Status: Downloaded newer image for daocloud.io/centos:latest
---> 300e315adb2f
Step 2/9 : MAINTAINER Guo
---> Running in e5a8d92f38ab
Removing intermediate container e5a8d92f38ab
---> f6c6bd9fd103
Step 3/9 : RUN mkdir /usr/local/java
---> Running in 686ce50131ff
Removing intermediate container 686ce50131ff
---> 3c17fd92b67a
Step 4/9 : ADD jdk-8u141-linux-x64.tar.gz /usr/local/java
---> bbfdf8898308
Step 5/9 : RUN ln -s /usr/local/java/jdk1.8.0_141 /usr/local/java/jdk
---> Running in 94c9227d5fef
Removing intermediate container 94c9227d5fef
---> 3b2085cba2b3
Step 6/9 : ENV JAVA_HOME /usr/local/java/jdk
---> Running in 266dd5ae585e
Removing intermediate container 266dd5ae585e
---> 207d1efa72ac
Step 7/9 : ENV JRE_HOME ${JAVA_HOME}/jre
---> Running in 4af3264ce729
Removing intermediate container 4af3264ce729
---> 1eedbf429138
Step 8/9 : ENV CLASSPATH. :${JAVA_HOME}/lib:${JRE_HOME}/lib
---> Running in eb15ec40155a
Removing intermediate container eb15ec40155a
---> 1b5a60527ee4
Step 9/9 : ENV PATH :${JAVA_HOME}/bin:$PATH
---> Running in dfbb3590b08a
Removing intermediate container dfbb3590b08a
---> edff5327a025
Successfully built edff5327a025
Successfully tagged centos-jdk:latest
使用新构建的镜像运行容器验证 JDK 是否安装成功
[root@localhost centos-jdk]# docker run -it centos-jdk /bin/bash
[root@71c9af251ede /]# java -version
java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)