[转载]Docker容器内安装jdk8
2019-12-12 本文已影响0人
dongzhensong
参考 https://www.iteye.com/blog/maosheng-2383391
1.在宿主系统下载所需要的jdk版本的gz文件
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2.复制gz文件到容器中的root的用户目录下
#sudo docker cp <path to jdk gz file>/jdk-8u131-linux-x64.tar.gz <容器名称或者ID>:/root/
注意:docker cp 命令在 Docker 1.8 之前就有,在旧的版本中,docker cp 命令仅仅容许从容器拷贝文件到主机,在 Docker 1.8 ,Docker cp 命令能够从主机拷贝文件到容器。
在 Docker 1.8 之前的版本中,用-v挂载主机数据卷到容器内实现从主机拷贝文件到容器
在主机内执行:
#sudo docker run --name [CONTAINER] -v [IMGAGE_NAME]:{TAG}
以交互式模式从主机进入容器:
#sudo docker exec -it [CONTAINER] /bin/bash
在容器内执行:
#cp /path/to/sourcefile /path/to/destfile
3.进入容器
#sudo docker exec -it <容器名称或者ID> /bin/bash
4. 新建JAVA_HOME文件夹/usr/lib/jvm
并将jdk解压到该路径
# cd ~
# cp jdk-8u201-linux-x64.tar.gz /usr/lib/jvm/
# cd /usr/lib/jvm
# tar zxvf jdk-8u201-linux-x64.tar.gz
# chown root:root jdk1.8.0_201 -R
5.安装vim(可选)
#apt-get update
#apt-get install vim
如果更新过程出现更新源在国外无法击中的问题,可更新apt源
# mv /etc/apt/sources.list /etc/apt/sources.list.bak
批量执行以下脚本,将新的阿里云源写入apt配置文件
echo "deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial universe" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties" >> /etc/apt/sources.list
echo "deb http://archive.canonical.com/ubuntu xenial partner" >> /etc/apt/sources.list
echo "deb-src http://archive.canonical.com/ubuntu xenial partner" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted" >> /etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe" >> /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse" >> /etc/apt/sources.list
再次更新apt包索引
apt-get update
安装vim
apt-get install vim
6.设置环境变量
#vim ~/.bashrc
添加以下内容到该文件:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
7.使得环境变量马上生效
#source ~/.bashrc
8.验证JDK版本
# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)