版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qmqm011/article/details/88830175
一、创建工作目录
root@ubuntu:/# mkdir dockerjdk8
root@ubuntu:/#
root@ubuntu:/# cd dockerjdk8/
root@ubuntu:/dockerjdk8#
二、下载jdk安装包并上传到虚拟机中上一步创建的目录中
root@ubuntu:/dockerjdk8# ll
total 187332
drwxr-xr-x 2 root root 4096 Mar 26 06:05 ./
drwxr-xr-x 28 root root 4096 Mar 26 06:02 ../
-rw-r--r-- 1 root root 191817140 Mar 16 01:25 jdk-8u201-linux-x64.tar.gz
三、创建Dockerfile
root@ubuntu:/dockerjdk8# vi Dockerfile
#依赖镜像名称和ID
FROM ubuntu:18.04
#指定镜像创建者信息
MAINTAINER wuychn
#切换工作目录
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把java添加到容器中,会自动解压
ADD jdk-8u201-linux-x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_201
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
四、执行命令构建镜像
root@ubuntu:/dockerjdk8# docker build -t jdk1.8 .
Sending build context to Docker daemon 191.8MB
Step 1/9 : FROM ubuntu:18.04
---> 94e814e2efa8
Step 2/9 : MAINTAINER wuychn
---> Running in 4455658bd216
Removing intermediate container 4455658bd216
---> ca64d7f8731e
Step 3/9 : WORKDIR /usr
---> Running in 375dd8bd29b2
Removing intermediate container 375dd8bd29b2
---> 82a11386a101
Step 4/9 : RUN mkdir /usr/local/java
---> Running in 4b1ac0d299ba
Removing intermediate container 4b1ac0d299ba
---> bba303a19aaa
Step 5/9 : ADD jdk-8u201-linux-x64.tar.gz /usr/local/java/
---> 52c4a104748f
Step 6/9 : ENV JAVA_HOME /usr/local/java/jdk1.8.0_201
---> Running in 84e9d465812c
Removing intermediate container 84e9d465812c
---> cfb4c9f9e96d
Step 7/9 : ENV JRE_HOME $JAVA_HOME/jre
---> Running in 89da12a2652f
Removing intermediate container 89da12a2652f
---> 0dcda2e3da7c
Step 8/9 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
---> Running in 86ff1ae3563d
Removing intermediate container 86ff1ae3563d
---> 8a36d10fc526
Step 9/9 : ENV PATH $JAVA_HOME/bin:$PATH
---> Running in a6953ec21275
Removing intermediate container a6953ec21275
---> bbfe74fb09fe
Successfully built bbfe74fb09fe
Successfully tagged jdk1.8:latest
五、查看镜像
root@ubuntu:/dockerjdk8# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jdk1.8 latest bbfe74fb09fe 37 seconds ago 486MB
springboot latest 3468233eebc6 4 days ago 660MB
tomcat jdk 05d05fcc2574 10 days ago 672MB
sshd ubuntu 216556af51b0 10 days ago 288MB
sshd dockerfile c85255d043cd 10 days ago 252MB
ubuntu 18.04 94e814e2efa8 2 weeks ago 88.9MB
mysql latest 91dadee7afee 3 weeks ago 477MB
java 8 d23bdf5b1b1b 2 years ago 643MB
六、创建容器
root@ubuntu:/dockerjdk8# docker run -di --name=myjdk1.8 jdk1.8 /bin/bash
bf8aaeedd3dfa9d5335b199ef476206586cd3fcba75449d645d6b48202cbd5a7
root@ubuntu:/dockerjdk8#
root@ubuntu:/dockerjdk8# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bf8aaeedd3df jdk1.8 "/bin/bash" 3 seconds ago Up 2 seconds myjdk1.8