1. 下载系统运行基础环境
这里以ubantu为例
执行命令 docker search ubantu
这时候会列出一些ubantu的版本,我这边以oumuv/ubantu为例
执行拉取命令 docker pull oumuv/ubantu
2. 编译Dockerfile
创建dockerfile文件(默认当前在jdk所在文件夹)
执行命令vim dockerfile-jdk
内容如下
FROM oumuv/ubantu
#指定镜像创建者信
MAINTAINER shenlq
ADD jdk-11.0.4_linux-x64_bin.tar.gz /usr/local/
ENV JAVA_HOME /usr/local/jdk-11.0.4
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
3. 使用Dockerfile创建镜像
执行命令 docker build -t jdk11:20191012 . -f dockerfile-jdk
然后可以通过命令 docker image
看到镜像创建成功
1、 -t 指定镜像的名称和tag;
2、 使用-f 指定要使用的dockerfile,如果不指定会寻找当前目录名为Dockerfile的文件
3、上面有个 . ,这个表示当前目录,必不可少的
4. 运行
执行命令 docker run -d -it jdk11:20191012 /bin/bash
执行完可以通过 docker ps
查看是否启动
root@shenlq-virtual-machine:/home/shenlq/docker/app# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5113fd88cc5e contact "nohup java -jar /ac…" 33 minutes ago Up 33 minutes 0.0.0.0:5111->5111/tcp contact
6a393d3099fc jdk11:20191012 "/bin/bash" 2 hours ago Up 2 hours condescending_goldberg
8b07bf8a7d9d e3f544356024 "/bin/bash" 2 hours ago Up 2 hours friendly_satoshi
ps: 创建容器的时候一定要使用 -it /bin/bash这种方式,要不然jdk的容器起不来。
5. 验证
上述启动成功可以看到id为6a393d3099fc
则执行命令:docker exec -it 6a393d3099fc /bin/bash
进入以后执行 java -version
如果出现
root@6a393d3099fc:/# java -version
java version "11.0.4" 2019-07-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.4+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.4+10-LTS, mixed mode)
则表示jdk安装完毕