Docker 构建jdk8 镜像
1、下载jdk8安装包并上传至已创建的特定目录(此处使用/usr/local/docker)
2、相同目录下创建Dockerfile
3、Dockerfile内容如下
FROM centos:7 #2、指明该镜像的作者和电子邮箱 MAINTAINER zjk "604115781@qq.com" #3、在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录 WORKDIR /usr/local/docker #4、一个复制命令,把jdk安装文件复制到镜像中,语法 ADD SRC DEST ,ADD命令具有自动解压功能 ADD jdk-8u201-linux-x64.tar.gz /usr/local/docker #5、配置环境变量,此处目录为tar.gz包解压后的名称,需提前解压知晓: ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_201 ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV PATH=$JAVA_HOME/bin:$PATH #6、设置启动命令 CMD ["java","-version"]
4、在Dockerfile所在目录执行构建命令
docker build -t jdk8_image:V1.0 .
5、构建完成后查看镜像列表
docker images
6、通过镜像构建容器并后台启动,run具备create和start的功能。
docker run -itd --name jdk_container jdk8_image:V1.0 /bin/bash
7、查看已运行容器列表
8、此时在宿主机上执行“java -version”发现jdk并未生效,因为jdk只运行在容器内,这也说明了容器内的环境与外界环境无关联。
9、查看jdk在容器内部是否生效,需进入容器内部执行。
可以看到,容器内部jdk8已生效。
10、退出容器:exit