Docker部署SpringBoot項(xiàng)目到云服務(wù)器的實(shí)現(xiàn)步驟
前言
隨著云計(jì)算的普及,越來(lái)越多的開(kāi)發(fā)者選擇將應(yīng)用程序部署到云端。Docker作為一種輕量級(jí)的容器化技術(shù),為開(kāi)發(fā)者提供了快速、便捷的部署方案。本文將探討如何使用Docker將SpringBoot應(yīng)用程序部署到云服務(wù),從而實(shí)現(xiàn)高效、可靠的運(yùn)行環(huán)境。
一、打包運(yùn)行后端項(xiàng)目
1.打包到服務(wù)器步驟
1. 1使用idea右側(cè)Maven的package命令
1.2 在服務(wù)器的/usr/local/下面創(chuàng)建名為docker的文件夾
1.3 將打包好的jar包傳到服務(wù)器上面的/usr/local/docker下面
1.4 編寫(xiě)Dockerfile,同時(shí)將編寫(xiě)好的Dockerfile傳輸?shù)椒?wù)器的/usr/local/docker下面
FROM openjdk:8 VOLUME /tmp ADD aurora-springboot-0.0.1.jar blog.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/blog.jar"]
注意:這里有可能你沒(méi)下載jdk會(huì)報(bào)錯(cuò),Dockerfile文件只需要上傳到指定目錄下即可,不需要手動(dòng)執(zhí)行其他操作。
2.編寫(xiě)aurora-start.sh,同時(shí)將編寫(xiě)好的aurora-start.sh上傳到服務(wù)器的/usr/local/docker下面
SOURCE_PATH=/usr/local/docker
SERVER_NAME=aurora-springboot-0.0.1.jar
TAG=latest
SERVER_PORT=8080
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
if [ -n "$CID" ]; then
echo "存在容器$SERVER_NAME,CID-$CID"
docker stop $CID
echo "成功停止容器$SERVER_NAME,CID-$CID"
docker rm $CID
echo "成功刪除容器$SERVER_NAME,CID-$CID"
fi
if [ -n "$IID" ]; then
echo "存在鏡像$SERVER_NAME:$TAG,IID=$IID"
docker rmi $IID
echo "成功刪除鏡像$SERVER_NAME:$TAG,IID=$IID"
fi
echo "開(kāi)始構(gòu)建鏡像$SERVER_NAME:$TAG"
cd $SOURCE_PATH
docker build -t $SERVER_NAME:$TAG .
echo "成功構(gòu)建鏡像$SERVER_NAME:$TAG"
docker run --restart=always --name aurora-springboot-0.0.1.jar -d -p 8080:8080 aurora-springboot-0.0.1.jar:latest
echo "成功創(chuàng)建并運(yùn)行容器$SERVER_NAME"注意事項(xiàng):sh文件需要用notepad++轉(zhuǎn)為Unix格式**
具體操作:點(diǎn)開(kāi)notepad++中的編輯 ---> 文檔格式轉(zhuǎn)換 --->轉(zhuǎn)為Unix
3.cd到/usr/local/docker下面 ,執(zhí)行如下命令打包docker鏡像文件
sh aurora-start.sh
4.啟動(dòng)容器
docker run --name aurora-springboot-0.0.1.jar -d -p 8080:8080 aurora-springboot-0.0.1.jar:latest
這樣后端項(xiàng)目就可以在服務(wù)器上跑起來(lái)了
5.訪(fǎng)問(wèn)測(cè)試(瀏覽器上訪(fǎng)問(wèn))
ip:8080
補(bǔ):刪除重做(更新)鏡像
更新了項(xiàng)目,把原來(lái)部署的jar包刪除,容器鏡像都刪除,然后將新的jar放到 /home/docker 下,在運(yùn)行生成新鏡像
1、刪除原來(lái)的項(xiàng)目jar包的容器和鏡像
可以按照鏡像id刪除鏡像,命令如下:docker rmi 鏡像ID
刪除單個(gè)鏡像(-f 強(qiáng)制刪除):docker rmi -f 鏡像ID
1. 刪除指定的容器: docker rm 容器名稱(chēng)(容器ID) 例如:docker rm mycentos11 2. 刪除容器的時(shí)候,如果容器在運(yùn)行,會(huì)報(bào)錯(cuò),必須先停止容器 # 查看正在運(yùn)行的容器 docker ps # 刪除正在運(yùn)行的容器 docker rm mycentos11 # 停止容器 docker stop mycentos11 啟動(dòng)容器 docker start 容器名稱(chēng)(或者容器ID) 例如: docker start mycentos2 # 查看所有容器 docker ps -a
2、將jar包更新后,生成新鏡像
docker build -t blog:1.0 .
3、運(yùn)行鏡像
docker run --name blog -d -p 80:8080 blog:1.0
到此這篇關(guān)于Docker部署SpringBoot項(xiàng)目到云服務(wù)器的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Docker部署SpringBoot到云服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 云服務(wù)器Jenkins部署Springboot項(xiàng)目及Vue項(xiàng)目的詳細(xì)過(guò)程
- IDEA如何一鍵部署SpringBoot項(xiàng)目到服務(wù)器
- SpringBoot項(xiàng)目部署到服務(wù)器的兩種方式
- Docker部署SpringBoot項(xiàng)目,本地運(yùn)行正常,部署至服務(wù)器報(bào)錯(cuò)zip file closed問(wèn)題
- 將SpringBoot項(xiàng)目無(wú)縫部署到Tomcat服務(wù)器的操作流程
- springboot項(xiàng)目如何部署到服務(wù)器
- Springboot項(xiàng)目的服務(wù)器部署與發(fā)布方式
相關(guān)文章
React組件設(shè)計(jì)過(guò)程之仿抖音訂單組件
這篇文章主要介紹了React組件設(shè)計(jì)過(guò)程之仿抖音訂單組件的實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
React-vscode使用jsx語(yǔ)法的問(wèn)題及解決方法
很多朋友在安裝插件ES7 React/Redux/GraphQL/React-Native snippets還是不能完全支持jsx語(yǔ)法,糾結(jié)是什么原因呢,該如何處理呢,下面小編給大家分享本文幫助大家解決React-vscode使用jsx語(yǔ)法問(wèn)題,感興趣的朋友一起看看吧2021-06-06
Redux DevTools不能顯示數(shù)據(jù)問(wèn)題
這篇文章主要介紹了Redux DevTools不能顯示數(shù)據(jù)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
react-redux集中式狀態(tài)管理及基本使用與優(yōu)化
react-redux把組件分為兩類(lèi),一類(lèi)叫做UI組件,一類(lèi)叫做容器組件,這篇文章主要介紹了集中式狀態(tài)管理<react-redux>基本使用與優(yōu)化,需要的朋友可以參考下2022-08-08
React Router 5.1.0使用useHistory做頁(yè)面跳轉(zhuǎn)導(dǎo)航的實(shí)現(xiàn)
本文主要介紹了React Router 5.1.0使用useHistory做頁(yè)面跳轉(zhuǎn)導(dǎo)航的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
react無(wú)限滾動(dòng)組件的實(shí)現(xiàn)示例
本文主要介紹了react無(wú)限滾動(dòng)組件的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05

