• 技术文章 >运维 >Docker

    docker需要安装jdk吗

    长期闲置长期闲置2022-07-26 16:05:16原创353

    docker服务本身不需要安装jdk,如果java应用容器后则需要在容器中安装jdk;docker容器默认是没有jdk的,若需要运行java程序则宿主机器中安装jdk和容器中安装jdk,jdk全称“Java Development Kit”,指的是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序的开发。

    本教程操作环境:linux7.3系统、docker19.03版、Dell G3电脑。

    docker需要安装jdk吗

    docker 服务本身不需要。

    jdk 对于 java 应用需要,而 docker 的 go 编写的。如果你的java 应用容器话后,则需要在容器中安装 jdk。

    docker容器默认是没有JDK的,如果需要运行Java程序那么要么宿主机器中安装JDK要么容器中安装JDK,以下是在容器中安装JDK的方法

    jdk是什么

    jdk(全称为Java Development Kit) 是SunMicrosystems针对Java开发员的产品,它是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。

    JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

    最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了属于自己的JDK。IBM公司开发了属于自己的JDK,国内淘宝也开发了属于自己的JDK,各个组织开发自己的JDK都是为了在某些方面得到一些提高,以适应自己的需求。

    JDK是用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境。它不提供具体的开发软件,它提供的是无论你用何种开发软件写Java程序都必须用到的类库和Java语言规范。

    docker需要单独安装jdk吗

    docker容器默认是没有JDK的,如果需要运行Java程序那么要么宿主机器中安装JDK要么容器中安装JDK,以下是在容器中安装JDK的方法。

    1.在宿主系统下载所需要的jdk版本的gz文件

             http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    2.复制gz文件到容器中的root的用户目录下

    docker cp <path to jdk gz file>/jdk-8u121-linux-x64.tar.gz <容器名称或者ID>:/root

    3.进入容器

    docker exec -it <容器名称或者ID> bash

    4. 在容器中解开gz文件

    cd ~
    tar -zxvf jdk-8u121-linux-x64.tar.gz
    chown root:root ~/jdk1.8.0_121 -R

    5. 建立容器系统的JAVA_HOME目录

    mkdir /usr/lib/jvm

    6.移动jdk目录到JAVA_HOME目录

    mv ~/jdk1.8.0_121 /usr/lib/jvm

    7.安装vim

    yum update
    yum -y install vim*

    8.设置环境变量

    vim ~/.bashrc
    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121 ## 这里要注意目录要换成自己解压的jdk 目录
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH

    9.使得环境变量马上生效

    source ~/.bashrc

    10.验证JDK版本

    java -version

    推荐学习:《docker视频教程

    以上就是docker需要安装jdk吗的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Docker
    上一篇:什么是docker容器逃逸 下一篇:docker能代替vmware吗
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• docker能装cuda吗• docker中ci和cd是什么意思• docker怎么退出容器而不关闭容器• docker怎么解决oci错误• docker中expose是啥意思
    1/1

    PHP中文网