docker构建jdk基础镜像

下载jdk

  1. 点击跳转下载界面
  2. 在/opt目录下新建baseImage目录,并上传tar.gz包到该目录下
    在这里插入图片描述

新建Dockerfile文件

在该目录下新建Dockerfile文件

/** 基于centos:7基础镜像构建 **/
FROM centos:7
/** 作者 **/
MAINTAINER zfl
/** 创建目录 **/
RUN mkdir /usr/local/docker
/** 进入该目录下 **/
RUN cd /usr/local/docker
/** 将jar包添加到/usr/local/docker目录下并解压 **/
ADD jdk-8u271-linux-x64.tar.gz /usr/local/docker
/** 环境变量配置 **/
ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_271
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH

/** 输出Java版本信息 **/
CMD ["java","-version"]

构建镜像

docker build -t test-jdk:1.8 .

执行上面的命令,-t 指定构建镜像的名称和版本号,.表示在当前目录下查找Dockerfile文件。开始构建:

Sending build context to Docker daemon  143.2MB
Step 1/9 : FROM centos:7
 ---> eeb6ee3f44bd
Step 2/9 : MAINTAINER zfl
 ---> Using cache
 ---> 3e8d1c0baf63
Step 3/9 : RUN mkdir /usr/local/docker
 ---> Using cache
 ---> 4eb947374d50
Step 4/9 : RUN cd /usr/local/docker
 ---> Using cache
 ---> f7f60e0f4a41
Step 5/9 : ADD jdk-8u271-linux-x64.tar.gz /usr/local/docker
 ---> Using cache
 ---> 0c1435277f97
Step 6/9 : ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_271
 ---> Using cache
 ---> c9e683ac9636
Step 7/9 : ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 ---> Using cache
 ---> 831cae77b83c
Step 8/9 : ENV PATH=$JAVA_HOME/bin:$PATH
 ---> Using cache
 ---> dbb9eb855c1a
Step 9/9 : CMD ["java","-version"]
 ---> Using cache
 ---> bcee6eab484d
Successfully built bcee6eab484d
Successfully tagged test-jdk:1.8

查看构建镜像信息

baseImage]# docker images | grep test-jdk
test-jdk                                               1.8          bcee6eab484d   6 days ago      559MB

至此构建成功

容器操作

启动镜像,输出Jdk版本信息

 baseImage]# 
[root@nacos-server baseImage]# docker run --name testJdk -d test-jdk:1.8
283261a4cd43c31a30e5595742df791dd11b39b8954d631bdf885ce1ef1ed0ed
[root@nacos-server baseImage]# docker logs -f -n 100 283261
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

充满鲜花的世界到底在哪里
原文地址:https://www.cnblogs.com/aliases/p/15686245.html