參考文獻(xiàn): https://blog.csdn.net/Gufang617/article/details/130744553
Docker創(chuàng)建Springboot項(xiàng)目鏡像文件
本文章展示的是以Windows10系統(tǒng)為例進(jìn)行操作
一.首先在Windows系統(tǒng)安裝WSL(Windows系統(tǒng)的Linux子系統(tǒng))
//該命令能夠直接在Windows系統(tǒng)安裝wsl
wsl --install
//如果已經(jīng)安裝則可以進(jìn)行update
wsl --update
二.安裝Docker Desktop在本機(jī)電腦
安裝地址:desktop安裝地址(外網(wǎng),需要一些手段進(jìn)行訪問)

三.在hub.docker官網(wǎng)注冊賬號,創(chuàng)建倉庫
https://hub.docker.com/


四.準(zhǔn)備一個正常運(yùn)行的SpringBoot項(xiàng)目

4.1.首先進(jìn)行maven 打包,將會在target中生成一個Jar包.
嘗試在target目錄下進(jìn)入cmd,使用命令
java -jar XX(jar文件名).jar //是否能正常運(yùn)行,如果不能就是jdk環(huán)境沒有裝配.
4.2.在target目錄下創(chuàng)建文件Dockerfile
在Dockerfile中寫入信息如下
#引入JDK配置
FROM openjdk:8
#發(fā)布到網(wǎng)上時只會把jar包和Dockerfile發(fā)布上去
COPY *.jar /app.jar
#地址映射
CMD ["--server.port=8080"]
#對外暴露端口(可以任意修改)
EXPOSE 8080
#執(zhí)行命令
ENTRYPOINT ["java","-jar","/app.jar"]
4.3.將Jar包以及Docker文件一起復(fù)制到一個新的文件夾
然后進(jìn)行cmd命令模式

進(jìn)入cmd命令模式敲入如下命令(末尾有一個點(diǎn))

會根據(jù)Dockerfile文件的配置,創(chuàng)建鏡像文件
使用命令docker images 查看鏡像信息

4.4.如果沒有報錯,到這一步就可以運(yùn)行hellodocker鏡像文件
使用命令docker run -d --name demo -p 8080:8080 hellodocker
運(yùn)行完命令,會生成容器ID
4.5.如果報錯,可以通過docker logs demo命令查看報錯信息
正常運(yùn)行信息如下:

4.6.此時就可以通過localhost:8080訪問到該容器中的Java程序了
五.將Windows上的images(鏡像)上傳到hub.docker
5.1 使用命令查看容器id
docker ps

5.2 上傳到本地倉庫
使用命令 docker commit -m=""備注" 容器id 用戶名/倉庫名 如下圖片所示,
會生成sha256形式的密鑰

5.3進(jìn)行遠(yuǎn)程hub.docker登錄
使用命令docker login 輸入賬戶名,密碼即可 ,此處我已經(jīng)登錄過顯示會不一樣

5.4 登錄成功,執(zhí)行push操作
5.4.1 使用docker images 查看需要推送的鏡像文件

5.4.2 使用push命令推送到hub.docker
docker push fangdi0620/hellodocker:latest

推送結(jié)果成功后,在hub.docker中能夠看到剛剛推送上去的docker鏡像文件

六.在阿里云服務(wù)器拉取自己制作的鏡像文件
6.1 打卡遠(yuǎn)程連接工具M(jìn)obalXterm,輸入命令docker pull fangdi0620/hellodocker:latest
從hub.docker中拉取鏡像到云服務(wù)器中

拉取過程如圖所示

6.2 拉取成功后,再次運(yùn)行啟動命令docker run -d --name demo -p 8080:8080 fangdi0620/hellodocker
運(yùn)行成功后,截圖如下

此時,需要登錄阿里云云服務(wù)器管理首頁打開阿里云防火墻開通8080端口
再次訪問47.103.33.XXX:8080/hello

本文從Springboot項(xiàng)目的構(gòu)建,到Windows本地系統(tǒng)運(yùn)行docker,以及Windows系統(tǒng)打包鏡像文件上傳到hub.docker,再從hub.docker拉取鏡像到阿里云服務(wù)器中運(yùn)行.詳細(xì)說明了使用docker的創(chuàng)建運(yùn)行過程!!!