Docker -- 04 -- Docker上安装JDK

在 Docker 上安装 JDK,有直接的 OpenJDK 可供下载安装,但有时候使用 OpenJDK,会碰到一些不可预估的问题,所以我们还是优先选择安装 Oracle JDK,不过由于没有直接的 Oracle JDK 可供下载安装,因此我们可以自定义安装 Oracle JDK 镜像


一、安装 centos7 镜像

  • docker pull centos:7

    • 从镜像仓库中拉取指定镜像
  • docker images

    • 列出所有镜像列表

    在这里插入图片描述


二、编写 Dockerfile

  • cd /usr/local/docker/java

  • rz (上传 jdk)

  • vim Dockerfile

    # 指定基础镜像
    FROM centos:7
    
    # 维护者信息
    MAINTAINER  xj
    
    # 将本地文件添加到容器中,tar类型文件会自动解压
    ADD jdk-8u211-linux-x64.tar.gz /usr/local/java/
    
    # 设置环境变量
    ENV JAVA_HOME /usr/local/java/jdk1.8.0_211
    ENV JAVA_BIN $JAVA_HOME/bin
    ENV JAVA_LIB $JAVA_HOME/lib
    ENV CLASSPATH .:$JAVA_LIB/dt.jar:$JAVA_LIB/tools.jar
    ENV PATH $JAVA_BIN:$PATH
    
  • :wq


三、创建镜像

  • docker build -t jdk:8.0 .

    • build -t

      • 创建镜像,并指定镜像名称和版本号
    • .

      • 表示当前目录 (Docker 会自动寻找当前目录下的 Dockerfile 文件)
  • docker images

    • 列出所有镜像列表

    在这里插入图片描述


四、运行镜像

  • docker run -d -it --name jdktest jdk:8.0 /bin/bash

    • -d

      • 后台运行容器,并返回容器 ID
    • -i

      • 以交互模式运行容器,通常与 -t 同时使用
    • -t

      • 为容器重新分配一个伪输入终端,通常与 -i 同时使用
    • –name

      • 为容器指定一个名称;若不指定,则由系统自动生成
    • jdktest

      • 容器名称
    • jdk:8.0

      • 镜像名称及版本号
  • docker ps

    • 列出所有正在运行的容器

    在这里插入图片描述


五、查看服务

  • docker exec -it d4e45cf6fcc3 /bin/bash

    • 进入 jdk 容器

      • d4e45cf6fcc3

        • 容器 ID,可以使用 docker ps 命令进行查看
  • java -version
    在这里插入图片描述


六、参考资料

posted @ 2019-07-05 18:05  GeneXu  阅读(265)  评论(0)    收藏  举报