使用Docker构建JDK镜像

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

猜你喜欢

转载自blog.csdn.net/qmqm011/article/details/88830175