濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Centos8.3、docker部署springboot項(xiàng)目實(shí)戰(zhàn)案例分析

Centos8.3、docker部署springboot項(xiàng)目實(shí)戰(zhàn)案例分析

熱門標(biāo)簽:福州企業(yè)電銷機(jī)器人排名 打400電話怎么辦理收費(fèi) 宿城區(qū)電話機(jī)器人找哪家 10086外包用的什么外呼系統(tǒng) 400電話辦理介紹信 河南防封號(hào)電銷機(jī)器人是什么 怎么找到?jīng)]有地圖標(biāo)注的店 麗江真人語音電話外呼系統(tǒng) 上海申請(qǐng)高400開頭的電話

引言

目前k8s很是火熱,我也特意買了本書去學(xué)習(xí)了一下,但是k8s動(dòng)輒都是成百上千的服務(wù)器運(yùn)維,對(duì)只有幾臺(tái)服務(wù)器的應(yīng)用來說使用k8s就有點(diǎn)像大炮打蚊子。只有幾臺(tái)服務(wù)器的應(yīng)用運(yùn)維使用傳統(tǒng)的tomcat部署很繁瑣,效率不高,動(dòng)輒十幾分鐘部署一臺(tái)服務(wù),使用jenkins部署又太過復(fù)雜,斟酌許久我還是選擇了使用docker+dockerFile的方式部署。這種方式部署簡(jiǎn)單高效。

docker安裝

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun #一鍵安裝腳本
systemctl enable docker.service                                    #設(shè)置docker開機(jī)啟動(dòng)
systemctl restart docker.service                                   #啟動(dòng)docker服務(wù)

開啟docker遠(yuǎn)程訪問端口

編輯/usr/lib/systemd/system/docker.service文件添加-Htcp://0.0.0.0:12375 -H unix://var/run/docker.sock 如下圖:

保存文件后重新加載配置然后重新啟動(dòng)

systemctl daemon-reload           # 重新加載配置
    systemctl restart docker.service  # 重啟docker服務(wù)

注意:-Htcp://0.0.0.0:12375 這句話的意思任意ip都可以使用tcp訪問這個(gè)端口可以根據(jù)實(shí)際情況匹配IP。因?yàn)檫@里沒有token或者密鑰所以要特別注意如果使用云服務(wù)器那么強(qiáng)烈建議這里設(shè)置為安全組IP白名單訪問。我當(dāng)初在測(cè)試環(huán)境使用docker發(fā)布三四個(gè)小時(shí)就被人攻擊了不過當(dāng)初我是用的2375端口,這個(gè)端口特別容易被攻擊。

配置IDEAdocker環(huán)境

idea安裝docker環(huán)境插件如下圖:

安裝完成后重啟idea然后打開springboot項(xiàng)目,在根目錄創(chuàng)建Dockerfile文件。如下圖:

編輯Dockerfile如下:

FROM openjdk:11
# 鏡像是從 openjdk:11-jdk-alpin 繼承而來的
 
VOLUME /root/tmp
# 表示掛載了 /root/tmp 目錄到容器中
 
ADD build/libs/brief-plus-0.0.1-SNAPSHOT.jar apprun.jar
# 將bootJar 添加到鏡像中根目錄下 命令為 apprun.jar
 
ENTRYPOINT ["java","-jar","/apprun.jar"]
# ENTRYPOINT 在容器啟動(dòng)后執(zhí)行 java 命令來運(yùn)行程序
 
# 設(shè)置容器時(shí)間
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# ======= 其它的一些Dockerfile命令 ========== 這里我們沒有用到不過還是提一下
#COPY package.json /usr/src/app/
#ADD 更高級(jí)的復(fù)制文件
#ADD 指令和 COPY 的格式和性質(zhì)基本一致。但是在 COPY 基礎(chǔ)上增加了一些功能。
#CMD 指令就是用于指定默認(rèn)的容器主進(jìn)程的啟動(dòng)命令的。
#ENV 設(shè)置環(huán)境變量
#HEALTHCHECK 健康檢查
#EXPOSE 指令是聲明運(yùn)行時(shí)容器提供服務(wù)端口,這只是一個(gè)聲明,在運(yùn)行時(shí)并不會(huì)因?yàn)檫@個(gè)聲明應(yīng)用就會(huì)開啟這個(gè)端口的服務(wù)
EXPOSE 8090

主要注意build/libs/brief-plus-0.0.1-SNAPSHOT.jar apprun.jar 這句話。 我是用的gradle編譯后的文件位于build/libs/ 目錄下 如下圖:

maven編譯后的文件位于target目錄下如下圖:

Dockerfile是根據(jù)具體的目錄和打包后的名稱來獲取生成鏡像文件所以這里一定不能出錯(cuò)。

配置Docker服務(wù)

配置運(yùn)行環(huán)境

創(chuàng)建一個(gè)tcp連接服務(wù)

3.配置發(fā)布到docker的服務(wù)

綁定端口ip的詳細(xì)配置

打包發(fā)布

心得建議

1.docker的鏡像文件會(huì)分塊,每塊都有自己的簽名,每次上傳會(huì)進(jìn)行對(duì)比差異的文件才會(huì)重新上傳。

2.每次上傳的時(shí)候記得更改標(biāo)簽方便根據(jù)標(biāo)簽進(jìn)行回滾。

3.修改服務(wù)器的網(wǎng)絡(luò)配置、防火墻需要重啟docker服務(wù)。

docker 常用命令:

重啟docker

systemctl restart docker      # 重啟docker服務(wù)
systemctl daemon-reload    # 重新加載docker配置

查看30分鐘內(nèi)的日志

docker logs --since 30m id

以上就是Centos8.3、docker部署springboot項(xiàng)目實(shí)戰(zhàn)記錄的詳細(xì)內(nèi)容,更多關(guān)于docker部署springboot項(xiàng)目的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

標(biāo)簽:運(yùn)城 雞西 連云港 面試通知 遵義 隴南 朝陽 荊門

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Centos8.3、docker部署springboot項(xiàng)目實(shí)戰(zhàn)案例分析》,本文關(guān)鍵詞  Centos8.3,docker,部署,springboot,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Centos8.3、docker部署springboot項(xiàng)目實(shí)戰(zhàn)案例分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于Centos8.3、docker部署springboot項(xiàng)目實(shí)戰(zhàn)案例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    新化县| 徐汇区| 浮山县| 平顶山市| 吉木乃县| 天气| 陇南市| 达州市| 武城县| 商河县| 珲春市| 奈曼旗| 嘉祥县| 汉源县| 津南区| 洪雅县| 宜川县| 铜山县| 山东省| 蕲春县| 宜良县| 鹿泉市| 三原县| 西林县| 荔浦县| 清远市| 广德县| 宝山区| 雷山县| 筠连县| 鞍山市| 容城县| 陇西县| 平顶山市| 南安市| 图木舒克市| 伊宁市| 乌拉特前旗| 麻江县| 徐水县| 濉溪县|