docker第一天:window10下docker采用Dockerfile安装jdk1.8

一、安装docker

省略

二、docker使用

window下控制台下操作结果:

2.1 检查docker是否安装成功

命令:docker version

 

 2.2 安装centos

CentOS 7是3.10的内核,此处我们选择用CentOS 7操作系统

镜像仓库选用Docker官方的:https://hub.docker.com/explore/

 

该命令默认安装最新版 latest

安装好之后可以通过命令:docker images 查看 

2.3 运行centos镜像

命令:docker run -it centos:latest /bin/bash

 

 -t,-i的含义为申请一个控制台,同容器进行数据交互(不带的话一运行立刻结束)

2.4 docker中的jdk

       在该Docker容器中,我们只下载了一个centos的镜像,也就是说docker容器中有centos,我们可以运行该centos操作系统。那我们怎么样把jdk放入到centos镜像中,让docker容器运行的时候不但有centos,而且有jdk?应该在centos的镜像的基础上再做一个镜像,该镜像中既包含centos,也包含jdk。

 

 所以我们要使用DockerFile的技术在centos基础镜像的基础上再次构建一个镜像为jdk的镜像。

2.4.1 步骤

1.下载jdk  此处我通过oracle网下载了liunx版本的jdk    server-jre-8u221-linux-x64.tar.gz

 

 2.在任意位置建立工作目录,我在桌面建立work --》 centos文件夹

 

 将下载的jdk文件放入并新建一个Dockerfile文件,如上图所示

3.编辑Dockerfile文件内容

#建立一个新的镜像文件,配置模板:意思就是我新建立的镜像是以centos为基础模板的。因为jdk必须运行在操作系统之上

from centos

#配置作者信息  作者名  作者邮箱

MAINTAINER lichongli 1729497320@qq.com

#创建一个新目录来存储jdk文件

RUN mkdir /usr/local/java

#将jdk压缩文件复制到镜像中,它将自动解压缩tar文件

ADD server-jre-8u221-linux-x64.tar.gz /usr/local/java/

#创建同步链接 保持同步:ln -s 源文件 目标文件

RUN ln -s /usr/local/java/jdk1.8.0_221 /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

 

4.制作镜像

cmd控制台进入该工作路径下

命令:docker build -t="centos-jdk" .(后边的 . 不能少)

 查看镜像命令:docker images

5.建立容器,查看新的镜像中的JDK是否正确

根据一个镜像就可以启动一个容器,容器是系统的运行环境

启动命令:docker run -it centos-jdk /bin/bash

查看jdk:java -version  # 出来结果表明配置没问题

 

 进入安装jdk路径 通过ls查看该目录下存在jdk目录与解压好的jdk1.8.0_221。

通过ls -l可以查看到jdk是来自于jdk1.8.0_221的链接

三、命令解释

1、exec:进入docker容器内部进行各种操作

1、-it:进入控制台,并且有数据操作的交互

2、bash:用命令行进行操作

如上启动centos-jdk和centos

posted @ 2019-09-19 16:42  李重黎  阅读(4062)  评论(0编辑  收藏  举报