相关文章:
在 Docker 上安装 JDK,有直接的 OpenJDK 可供下载安装,但有时候使用 OpenJDK,会碰到一些不可预估的问题,所以我们还是优先选择安装 Oracle JDK,不过由于没有直接的 Oracle JDK 可供下载安装,因此我们可以自定义安装 Oracle JDK 镜像
一、安装 centos7 镜像
-
docker pull centos:7
- 从镜像仓库中拉取指定镜像
-
docker images
- 列出所有镜像列表
- 列出所有镜像列表
二、编写 Dockerfile
-
上传 JDK (jdk-8u251-linux-x64.tar.gz)
-
mkdir -p /usr/local/docker/java
-
cd /usr/local/docker/java
-
rz
-
-
编写 Dockerfile
-
vim Dockerfile
# 指定基础镜像 FROM centos:7 # 维护者信息 MAINTAINER xj # 将本地文件添加到容器中,tar类型文件会自动解压 ADD jdk-8u251-linux-x64.tar.gz /usr/local/java/ # 设置环境变量 ENV JAVA_HOME /usr/local/java/jdk1.8.0_251 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
- 列出所有正在运行的容器
- 列出所有正在运行的容器
五、查看服务
-
进入 JDK 容器
-
docker exec -it d4e45cf6fcc3 /bin/bash
参数 作用 exec 在容器中执行命令 d4e45cf6fcc3 容器 ID,可以使用 docker ps
命令进行查看- 在 JDK 容器中开启一个交互模式的终端
-
-
查看 JDK 容器版本
- java -version
- java -version