一、準備好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|容器名>: 查詢容器詳細信息