一、准备好jdk文件包(本文使用的是jdk-8u231-linux-x64.tar)、centos镜像(docker pull centos:7 )
二、在用户目录~下建一个文件夹 docker并且跳到该目录下 :mkdir ~/docker && cd ~/docker;
三、将jdk的文件包复制到~/docker目录下
四、在docker目录下创建一个Dockerfile文件
五、编写Dockerfile文件
# 依赖centos系统
FROM centos
# 将jdk添加到基础镜像中
ADD jdk-8u231-linux-x64.tar.gz /usr/local
# 设置java相关的环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_231
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH ${JAVA_HOME}/bin:$PATH
六、使用Dockerfile 构建镜像
docker build -t dockerhub用户名/jdk-8u231:1 . -f Dockerfile
七、运行容器
docker run -d -p 8080:8080 -it dockerhub用户名/jdk-8u231:1 /bin/bash
八、进入容器
docker ps --查看运行的容器
docker ps -a 查看所有容器
docker exec -it 容器ID /bin/bash
java -version -- 验证java环境是否正常
九、将镜像发布到dockerHub的私有仓库中
docker login
docker image push notsay(dockerhub用户名)/jdk-8u231:20200302
十、docker镜像和容器的一些命令
镜像
docker search: 搜索镜像
docker pull: 拉取镜像
docker images: 查看本地镜像
docker rmi <镜像id>|<镜像名:版本>: 删除镜像
docker save -o <打包文件> <镜像名:版本>: 打包镜像
docker load < <打包文件>: 加载镜像
docker history <镜像>: 查看镜像历史
docker tag <原始镜像:版本> <新镜像名:新版本>: 镜像重命名
容器
docker ps: 查看正在运行的容器
docker ps -a: 查看所有的容器
docker run <参数> <镜像> <执行命令>: 创建容器
docker stop|start <容器id|容器名>: 停止|启动容器
docker rm <容器id|容器名>: 删除停止的容器
docker rm -f <容器id|容器名> : 删除运行的容器
docker exec -it <容器id|容器名> /bin/bash: 进入正在运行的容器
docker commit -m "备注信息" -a "作者信息" <容器id|容器名> <镜像名:镜像版本>: 基于容器创建镜像
docker logs <容器id|容器名>: 查询容器的运行日志
docker inspect <容器id|容器名>: 查询容器详细信息