解析docker妙用SpringBoot構(gòu)建微服務(wù)實(shí)戰(zhàn)記錄
它是啥?
Spring Boot 是 Spring 開(kāi)源組織的子項(xiàng)目,是 Spring 組件一站式解決方案,主要是簡(jiǎn)化了使用 Spring 的難度,簡(jiǎn)省了繁重的配置,提供了各種啟動(dòng)器,開(kāi)發(fā)者能快速上手。
為啥用它?
五大優(yōu)點(diǎn):
1、起步依賴(lài) 官方為我們整合了大量的起步依賴(lài),簡(jiǎn)化了我們搭建項(xiàng)目的工作,同時(shí),起步依賴(lài)提供了可靠的依賴(lài)管理,降低了項(xiàng)目引入問(wèn)題版本和依賴(lài)沖突的風(fēng)險(xiǎn)。
2、 自動(dòng)配置 開(kāi)啟組件掃描和自動(dòng)配置。 通過(guò)exclude參數(shù)關(guān)閉特定 的自動(dòng)配置。
3、 應(yīng)用監(jiān)控 Spring Boot 監(jiān)控核心是 spring-boot-starter-actuator 依賴(lài),增加依賴(lài)后, Spring Boot 會(huì)默認(rèn)配置一些通用的監(jiān)控,比如 jvm 監(jiān)控、類(lèi)加載、健康監(jiān)控等。Actuator插件是SpringBoot原生提供的一個(gè)服務(wù),可以通過(guò)暴露端點(diǎn)路由,用來(lái)輸出應(yīng)用中的諸多端點(diǎn)信息。
4、 獨(dú)立運(yùn)行 SpringBoot內(nèi)置了Tomcat容器,可以直接執(zhí)行 main 方法運(yùn)行。項(xiàng)目部署可以打成jar的文件在服務(wù)器上通過(guò)執(zhí)行java -jar 命令來(lái)運(yùn)行服務(wù)。
5、熱部署 項(xiàng)目開(kāi)發(fā)過(guò)程中,常常會(huì)改動(dòng)頁(yè)面數(shù)據(jù)或者修改數(shù)據(jù)結(jié)構(gòu),為了顯示改動(dòng)效果,往往需要重啟應(yīng)用查看改變效果,其實(shí)就是重新編譯生成了新的 Class 文件,這個(gè)文件里記錄著和代碼等對(duì)應(yīng)的各種信息,然后 Class 文件將被虛擬機(jī)的 ClassLoader 加載。
而熱部署正是利用了這個(gè)特點(diǎn),它監(jiān)聽(tīng)到如果有 Class 文件改動(dòng)了,就會(huì)創(chuàng)建一個(gè)新的 ClaassLoader 進(jìn)行加載該文件,經(jīng)過(guò)一系列的過(guò)程,最終將結(jié)果呈現(xiàn)在我們眼前。
案例
1.開(kāi)發(fā)springboot微服務(wù)
2.對(duì)springboot應(yīng)用程序進(jìn)行打包
一般是兩種格式的包,案例采用jar
war 過(guò)渡 tomcat
jar 主流 jdk
3.打包項(xiàng)目
aliyun-sdk-oss-2.6.1.jar
4.在服務(wù)器中創(chuàng)建Dockerfile目錄
mkdir /root/springboot
上傳jar包到此目錄,并載入Java環(huán)境鏡像openjdk /root/springboot
創(chuàng)建Dockerfile文件
vim Dockerfile
FROM openjdk:8-jre
WORKDIR /app
ADD aliyun-sdk-oss-2.6.1.jar app.jar
EXPOSE 8080
ENTRYPOINT [“java”,"-jar",“app.jar”]
5.構(gòu)建鏡像
docker build -t app1 .
6.運(yùn)行容器
docker run -d -p 8081:8080 --name registry1 app1 bash
查看容器:
到此這篇關(guān)于解析docker妙用SpringBoot構(gòu)建微服務(wù)實(shí)戰(zhàn)記錄的文章就介紹到這了,更多相關(guān)docker SpringBoot構(gòu)建微服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker容器內(nèi)部可以訪問(wèn),外部無(wú)法訪問(wèn)的處理
這篇文章主要介紹了docker容器內(nèi)部可以訪問(wèn),外部無(wú)法訪問(wèn)的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12解決docker run時(shí)候啟動(dòng)兩個(gè)占有不同端口的問(wèn)題
這篇文章主要介紹了解決docker run時(shí)候啟動(dòng)兩個(gè)占有不同端口的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11docker 容器自定義 hosts 網(wǎng)絡(luò)訪問(wèn)操作
這篇文章主要介紹了docker 容器自定義 hosts 網(wǎng)絡(luò)訪問(wèn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的方案
這篇文章主要介紹了利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的問(wèn)題,需要在容器的啟動(dòng)腳本中,加入 trap 指令,來(lái)完成容器在退出前需要做的所有事情,本文通過(guò)腳本示例給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-12-12詳解CentOS 7 : Docker私有倉(cāng)庫(kù)搭建和使用
本篇文章主要介紹了詳解CentOS 7 : Docker私有倉(cāng)庫(kù)搭建和使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02寫(xiě)給前端的nginx配置指南基于docker所有配置秒級(jí)運(yùn)行(最新講解)
這篇文章主要介紹了寫(xiě)給前端的nginx配置指南基于docker所有配置秒級(jí)運(yùn)行,通過(guò)?docker?高效學(xué)習(xí)?nginx?配置,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06使用Docker搭建Django,Nginx,R,Python部署環(huán)境的方法
本篇文章主要介紹了使用Docker搭建Django,Nginx,R,Python部署環(huán)境的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02docker安裝elasticsearch和kibana的方法步驟
這篇文章主要介紹了docker安裝elasticsearch和kibana的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06