• 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

    有希望之处必有磨砺
  • 相关阅读:
    MySQL 练习题
    MySQL 增删查改
    HTML显示与隐藏
    360布局
    div布局
    HTML练习2
    HTML练习

    if语句的用法及其案例
    输入输出,数据类型与运算符
  • 原文地址:https://www.cnblogs.com/liwenhong199404/p/11550802.html
Copyright © 2020-2023  润新知