本次安装的JDK版本为1.8.0, 同样启动容器,挂载本地目录,将安装放置在本地目录内,启动容器后,进入容器内挂载目录,安装包拷贝到容器内部目录 /mnt下。

一、准备工作

启动容器,挂载目录

 docker run -tdi --rm --dns 8.8.8.8 --dns 8.8.4.4 --name 容器名 -v 主机安装包目录:/容器内部目录 镜像仓库:镜像标签

进入容器,拷贝安装包

[root@localhost installment]# docker exec -ti 容器名 /bin/bash
root@1bff1fd0d076:/# cd 容器内挂载目录
root@1bff1fd0d076:/容器内目录# ls -a
.  ..  configment  devlopment  installment
root@1bff1fd0d076:/../installment# ls -a
.  ..  jdk-8u191-linux-x64.rpm  jdk-8u191-linux-x64.tar.gz  tomcat-6.0.33.tar.gz

三个文件夹,配置、开发、安装, 这是在宿主机器上的三个文件夹(不用创建该三个目录,这是我电脑上的目录,也可直接挂载目录到installment)。安装包内容在 installment, 

拷贝文件到 容器内其他目录(这一步可不操作,纯属个人习惯,我不习惯在挂载目录内安装)

root@1bff1fd0d076:/home/...# cp -r ./installment /mnt/openjdk
root@1bff1fd0d076:/home/...# cd /mnt/openjdk
root@1bff1fd0d076:/mnt/openjdk# ls -a
.  ..  installment
root@1bff1fd0d076:/mnt/openjdk# cd installment && ls -a
.  ..  jdk-8u191-linux-x64.rpm  jdk-8u191-linux-x64.tar.gz  tomcat-6.0.33.tar.gz
root@1bff1fd0d076:/mnt/openjdk/installment# 

二、安装

  这里使用tar.gz 安装包。也可以使用rpm包。使用rpm安装到具体目录使用如下指令

rpm -ivh --prefix=/java  xx.rpm

新建目录 /usr/local/java 并解压到该目录

mkdir /usr/local/java &&  tar -zvxf jdk-8u191-linux-x64.tar.gz -C /usr/local/java

进入目录可看到解压结果

root@1bff1fd0d076:/mnt/openjdk/installment# cd /usr/local/java && ls -a                                                      
.  ..  jdk1.8.0_191
root@1bff1fd0d076:/usr/local/java# cd jdk1.8.0_191  && ls -a
.   COPYRIGHT  README.html                         THIRDPARTYLICENSEREADME.txt  include         jre  man      src.zip
..  LICENSE    THIRDPARTYLICENSEREADME-JAVAFX.txt  bin                          javafx-src.zip  lib  release
root@1bff1fd0d076:/usr/local/java/jdk1.8.0_191# 

三、设置环境变量

设置环境变量文件的,可具体参数 博文:docker环境变量设置。 这里修改 文件  /etc/profile, 在该文件末尾添加如下内容

export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export JRE_HOME=/usr/local/java/jdk1.8.0_191/jre
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export $JAVA_HOME/bin:$PATH

调用 source /etc/profile 使生效,然后检查

root@1bff1fd0d076:/usr/local/java/jdk1.8.0_191# source /etc/profile
root@1bff1fd0d076:/usr/local/java/jdk1.8.0_191# echo $PATH
/usr/local/java/jdk1.8.0_191/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@1bff1fd0d076:/usr/local/java/jdk1.8.0_191# 

成功,

如果需要保存该容器为镜像,还需要调用 docker commit 提交容器为镜像,步骤和在 docker容器内安装mysql 一直

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐