docker容器运行时,需要保持容器内jdk环境与一致,否则可能会因为jdk版本不同导致bug。这个需要我们在编写dockerfile文件时指定。
具体的dockerfile文件如下:
1.准备
首先在本地创建一个文件夹,将下载好的jdk的tar.gz文件拷贝到目录中,然后编写DockerFile文案金
2.dockerfile
## 设置docker的运行环境
FROM centos:7
## 编写人
MAINTAINER yfr
## 在docker容器构建时创建文件夹
RUN mkdir /usr/local/java
RUN mkdir /clib
## 将宿主机的文件拷贝到容器的具体目录中。这里使用ADD,拷贝后自动解压,如果不需要解压,可以使用COPY
ADD jdk-8u291-linux-x64.tar.gz /usr/local/java
## 在容器中创建/usr/local/java/jdk1.8.0_291与/usr/local/java/jdk的软连接
RUN ln -s /usr/local/java/jdk1.8.0_291 /usr/local/java/jdk
## 配置jdk环境
ENV JAVA_HOME /usr/local/java/jdk
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH ${JAVA_HOME}/bin:$PATH
3.构建镜像
使用docker build -t <image-name>:<image-version> .
构建镜像,其中.指当前目录,完成后使用docker images
查看构建的镜像
4.运行镜像
使用docker run
运行镜像,完成后使用docker exec -it <container-id> bash
进入镜像查看jdk版本以及对应的文件夹已创建。