欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

docker怎么部署SpringBoot及替換jar包

本篇內(nèi)容主要講解“docker怎么部署SpringBoot及替換jar包”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“docker怎么部署SpringBoot及替換jar包”吧!

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)番禺,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575

工程目錄

docker怎么部署SpringBoot及替換jar包

dockerfile文件

創(chuàng)建dockerfile文件,后面會(huì)用到。

文件部署

服務(wù)器新建/data/docker/hellolearn文件夾(文件路徑可自定義),將maven打包好的jar包和上文中創(chuàng)建的dockerfile文件復(fù)制到服務(wù)器新建的文件夾(/data/docker/hellolearn)。

docker怎么部署SpringBoot及替換jar包

生成鏡像

docker build -t hellolearn .

docker build -t 鏡像名稱:標(biāo)簽 dockerfile的相對(duì)位置,點(diǎn)號(hào)代表當(dāng)前目錄,不寫tag默認(rèn)是latest。

docker怎么部署SpringBoot及替換jar包

啟動(dòng)容器

docker run -d -p 8301:8301 --name hellolearn hellolearn

docker start hellolearn

-d參數(shù)是讓容器后臺(tái)運(yùn)行;--name為指定容器的名稱;-p 是做端口映射,此時(shí)將服務(wù)器中的8301(冒號(hào)前的端口)端口映射到容器中的8301(冒號(hào)后的端口)端口(application.properties配置的是8301)

訪問(wèn)web

docker怎么部署SpringBoot及替換jar包

jar包映射部署

按照上文的步驟已足可以輕松應(yīng)對(duì)docker部署springboot的全流程。但是這樣在啟動(dòng)容器后,每次需更新jar包時(shí),都得重新制作鏡像,再重新制作容器。流程及其繁瑣,效率極低。那如何在不更新鏡像或者容器的前提下直接更新jar包完成部署呢?

5.1 更新dockerfile

最后一行 entrypoint ["java","-jar","/data/learn-web-0.0.1-snapshot.jar"] 會(huì)運(yùn)行容器里/data目錄下的learn-web-0.0.1-snapshot.jar文件。

5.2 使用docker build命令構(gòu)建鏡像

docker build -t hellolearn .

5.3 創(chuàng)建&啟動(dòng)容器

docker run --name hellolearn -it -v /data/docker/newhellolearn/package:/data -d -p 8301:8301 hellolearn

-v 宿主機(jī)目錄關(guān)聯(lián)容器目錄。這樣宿主機(jī)的/data/docker/newhellolearn/package目錄就與docker的/data目錄進(jìn)行映射。

這樣的話,當(dāng)jar包發(fā)生變動(dòng)時(shí),直接更新宿主機(jī)的/data/docker/newhellolearn/package目錄下的jar包即可,更新jar包之后需要將容器重啟一下。

腳本部署

通過(guò)jar包部署方式引起一個(gè)問(wèn)題,若jar包名字發(fā)生變化,比如版本號(hào)變化(learn-web-0.0.1-snapshot.jar-->>learn-web-1.0.1-snapshot.jar)。需要怎么處理呢?下面就介紹第三種通過(guò)腳本部署的方式。

6.1 創(chuàng)建hellolearn.sh文件

java -jar /data/learn-web-0.0.1-snapshot.jar

將hellolearn.sh上傳到/data/docker/hellolearn/scriptdeploy/package,這個(gè)文件夾路徑可以自定義,記住這個(gè)文件夾路徑,后面還會(huì)用到。

6.2 添加腳本執(zhí)行權(quán)限

chmod +x hellolearn.sh

6.3 創(chuàng)建dockerfile

cmd ["sh","-c","/data/hellolearn.sh"] 表示在容器啟動(dòng)時(shí)啟動(dòng)6.1中創(chuàng)建的hellolearn.sh腳本。

注意最后一條命令上文中都是entrypoint,在腳本部署中改成了cmd,至于entrypoint和cmd的具體區(qū)別感興趣的可以了解一下。

6.4 上傳jar包

將jar包放入hellolearn.sh的同一個(gè)文件夾目錄,即/data/docker/hellolearn/scriptdeploy/package,創(chuàng)建容器時(shí)再將該目錄(宿主機(jī)目錄)與容器的/data目錄進(jìn)行映射。。

6.5 文件目錄結(jié)構(gòu)圖

docker怎么部署SpringBoot及替換jar包

這里的目錄結(jié)構(gòu)不知道大家暈不暈,上傳一張我這宿主機(jī)的目錄結(jié)構(gòu)圖,一目了然。

6.6 創(chuàng)建鏡像

docker build -t hellolearn-script .

末尾的點(diǎn)號(hào)代表當(dāng)前目錄,所以生成鏡像的命令需要在dockerfile所在的目錄執(zhí)行。

6.7 創(chuàng)建&啟動(dòng)容器

docker run --name hellolearn-script -it -v /data/docker/hellolearn/scriptdeploy/package:/data -d -p 8302:8301 hellolearn-script

docker start hellolearn-script

將宿主機(jī)的/data/docker/hellolearn/scriptdeploy/package目錄與容器的/data目錄映射關(guān)聯(lián)。這樣的話,當(dāng)jar包發(fā)生變動(dòng)時(shí),直接更新宿主機(jī)目錄下的jar包即可。即使jar包名字發(fā)生變化,也需要再更新一下hellolearn.sh腳本。更新之后重啟容器。

6.8 web測(cè)試效果

docker怎么部署SpringBoot及替換jar包

查看docker日志

docker logs [options] container id

options說(shuō)明:

-f : 跟蹤日志輸出
--since :顯示某個(gè)開(kāi)始時(shí)間的所有日志
-t : 顯示時(shí)間戳
--tail :僅列出最新n條容器日志

7.1 查看指定時(shí)間后的日志,只顯示最后100行:

docker logs -f -t --since="2020-10-01" --tail=100 container id

7.2 查個(gè)指定時(shí)間區(qū)段的日志

docker logs -t --since="2020-10-01t19:00:00" --until "2020-10-01t19:00:00" container id

7.3 查看指定時(shí)間后面的日志:

docker logs -t --since="2020-10-01t19:00:00" container id

7.4 查看最近5分鐘的日志:

docker logs --since 5m container id

7.5 通過(guò) exec 命令對(duì)指定的容器執(zhí)行 bash:

docker exec hellolearn -it /bin/bash 或者 docker exec -it hellolearn bash

7.6 查看docker ip

docker inspect --format='{{.networksettings.ipaddress}}' hellolearn

遇到的問(wèn)題

問(wèn)題描述:error response from daemon: driver failed programming external connectivity on endpoint flamboyant_leavitt (iptables failed: iptables --wait -t nat -a docker -p tcp -d 0/0 --dport 8301 -j dnat --to-destination 172.17.0.2:8301 ! -i docker0: iptables: no chain/target/match by that name.

解決方案:重啟docker。 systemctl restart docker

到此,相信大家對(duì)“docker怎么部署SpringBoot及替換jar包”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

標(biāo)題名稱:docker怎么部署SpringBoot及替換jar包
網(wǎng)頁(yè)路徑:http://chinadenli.net/article30/iphhso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名定制開(kāi)發(fā)定制網(wǎng)站網(wǎng)站建設(shè)標(biāo)簽優(yōu)化企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司