使用DockerFile安装jdk容器

半腔热情 提交于 2020-03-04 15:35:01

什么是Dockerfile

Dockerfile 用于构建一个新的Docker镜像的脚本文件,是由一系列命令和参数构成的脚本。
构建新的镜像步骤:

  1. 编写 Dockerfile 文件
  2. 通过 docker build 命令生成新的镜像
  3. 通过 docker run 命令运行

查看 DockerFile 文件示例, 以CentOS为例:
参考:https://hub.docker.com/_/centos

FROM scratch # 基础镜像,scratch相当于java中的Object
ADD centos-7-x86_64-docker.tar.xz / # centos
LABEL org.label-schema.schema-version="1.0" \ # 标签说明
         org.label-schema.name="CentOS Base Image" \
         org.label-schema.vendor="CentOS" \
        org.label-schema.license="GPLv2" \
        org.label-schema.build-date="20190305"
CMD ["/bin/bash"] # 默认执行的命令,创建运行容器时最后会加上 /bin/bash,
                            # 所以创建容器时,可不加 /bin/bash ,即如下:
                            # docker run -it --name=mycentos0 centos:7
                            # 如果加了,则在后面采用我们自己加的命令执行/bin/bash

Dockerfile 语法规则

  1. 每条指令的保留字都必须为大写字母且后面至少要有一个参数
  2. 执行顺序按从上往下执行。
  3. 用于注释
  4. 每条指令都会创建一个新的镜像层,并对镜像进行提交

Dockerfile 执行流程

  1. Docker 从基础镜像运行一个容器
  2. 执行每一条指定并对容器作出修改
  3. 执行类似 docker commit 的操作提交一个新的镜像层
  4. docker 再基于刚提交的镜像运行一个新容器
  5. 执行 Dockerfile 中的下一条指令直到所有指令都执行完成

Dockerfile 常用指令

在这里插入图片描述

使用Dockerfile创建JDK容器实列

(1)在宿主机上创建目录,并切换到新建的目录中

mkdir -p /usr/local/mydocker

(2)将下载 jdk-8u111-linux-x64.tar.gz 并上传到服务器(虚拟机)中的 /usr/local/mydocker 目录
在这里插入图片描述
如果没有本地目录则点击这个显示
在这里插入图片描述

#来自基础镜像
FROM centos:7
#指定镜像创建者信息
MAINTAINER mengxuegu
#切换工作目录 /usr/local
WORKDIR /usr/local
#创建一个存放jdk的路径
RUN mkdir /usr/local/java
#将jdk压缩包复制并解压到容器中/usr/local/java
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
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
CMD ["/bin/bash"]

构建镜像语法

docker build [-f 指定Dockerfile所在路径与文件名] -t 生成的镜像名:标签名 .

注意后边的 空格 和点 . 不要省略, . 表示当前目录 -f 指定Dockerfile文件所在路径与文件名。如果未指定 -f 值,则找当前目录下名为 Dockerfile 的构建文件

docker build -t jdk:1.8 .

在这里插入图片描述
JDK1.8镜像生成成功
在这里插入图片描述

利用创建的镜像创建JDK1.8容器

docker run -it --name=jhjjdk jdk:1.8

形成如下进入后台可以看出他自动进入工作目录
在这里插入图片描述

在这里插入图片描述查看是否配置成功
进入Java下面版本的里面输入java -version 可以查看Java的版本信息
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!