docker制作jdk镜像
注意:我使用的是centos版本 3.10.0-862.el7.x86_64(不同系统版本的jdk环境不一样)
如果出现java: cannot execute binary file此问题,说系统版本与jdk版本不一致
-
到官网下载jdk
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
下载版本 jdk-8u271-linux-x64.tar.gz
-
通过yum安装rz传输文件
yum install -y lrzsz -
创建Dockerfile
#指定基础镜像,并且必须是第一条指令
FROM centos:7
#指明该镜像的作者
LABEL author=xxx
#在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录
WORKDIR /usr/local/java
#把jdk安装文件复制到镜像中
ADD jdk-8u271-linux-x64.tar.gz /usr/local/java
#配置JAVA环境变量
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_271
ENV JRE_HOME=/usr/local/java/jdk1.8.0_271/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
- 执行Dockerfile文件
docker build -t jdk:1.8 . - 进入jdk容器,执行 java -version
docker run -it --name=jdk1.8 jdk:1.8 /bin/bash