亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
工程目錄
dockerfile檔案
檔案部署
產生映像
啟動容器
存取web
jar套件映射部署部署
腳本部署
查看docker日誌
問題描述: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.
首頁 Java java教程 docker怎麼部署SpringBoot及替換jar包

docker怎麼部署SpringBoot及替換jar包

May 12, 2023 pm 02:16 PM
docker jar springboot

工程目錄

docker怎麼部署SpringBoot及替換jar包

dockerfile檔案

建立dockerfile文件,後面會用到。

檔案部署

在伺服器新建/data/docker/hellolearn資料夾(檔案路徑可自訂),將maven打包好的jar包和上文中建立的dockerfile檔案複製到伺服器新建的資料夾(/data/docker/hellolearn)。

docker怎麼部署SpringBoot及替換jar包

產生映像

docker build -t hellolearn .

docker build -t 映像名稱:標籤dockerfile的相對位置,點號代表目前目錄,不寫tag預設是latest。

docker怎麼部署SpringBoot及替換jar包

啟動容器

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

docker start hellolearn

-d參數是讓容器後臺運作;--name為指定容器的名稱;-p 是做連接埠映射,此時將伺服器中的8301(冒號前的連接埠)連接埠映射到容器中的8301(冒號後的連接埠)連接埠(application.properties配置的是8301)

存取web

docker怎麼部署SpringBoot及替換jar包

jar套件映射部署部署

依照上文的步驟已足可以輕鬆應付docker部署springboot的全流程。但這樣在啟動容器後,每次需更新jar包時,都得重新製作鏡像,再重新製作容器。製程及其繁瑣,效率極低。那如何在不更新鏡像或容器的前提下直接更新jar包完成部署呢?

5.1 更新dockerfile

最後一行?entrypoint ["java","-jar","/data/learn-web-0.0.1-snapshot.jar"]?會執(zhí)行容器裡/data目錄下的learn-web-0.0.1-snapshot.jar檔。

5.2 使用docker build指令建立映像

docker build -t hellolearn .

5.3 建立&啟動容器

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

#-v 宿主機目錄關聯容器目錄。這樣宿主機的/data/docker/newhellolearn/package目錄就與docker的/data目錄進行對應。

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

腳本部署

透過ja??r包部署方式造成一個問題,若jar包名字發(fā)生變化,例如版本號變化(learn-web-0.0.1-snapshot.jar--> >learn-web-1.0.1-snapshot.jar)。需要怎麼處理呢?以下就介紹第三種透過腳本部署的方式。

6.1 建立hellolearn.sh檔案

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

將hellolearn. sh上傳到/data/docker/hellolearn/scriptdeploy/package,這個資料夾路徑可以自訂,記住這個資料夾路徑,後面還會用到。

6.2 新增腳本執(zhí)行權限

chmod x hellolearn.sh

6.3 建立dockerfile

cmd ["sh ","-c","/data/hellolearn.sh"]?表示在容器啟動時啟動6.1中建立的hellolearn.sh腳本。

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

6.4 上傳jar套件

將jar套件放入hellolearn.sh的同一個資料夾目錄,即/data/docker/hellolearn/scriptdeploy/package,建立容器時再將該目錄(宿主機目錄)與容器的/data目錄進行對應。 。

6.5 檔案目錄結構圖

docker怎麼部署SpringBoot及替換jar包

這裡的目錄結構不知道大家暈不暈,上傳一張我這宿主機的目錄結構圖,一目了然。

6.6 建立映像

docker build -t hellolearn-script .

末尾的點號代表目前目錄,所以產生映像的指令需要在dockerfile所在的目錄執(zhí)行。

6.7 建立&啟動容器

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

docker start hellolearn-script

##

將宿主機的/data/docker/hellolearn/scriptdeploy/package目錄與容器的/data目錄對映關聯。這樣的話,當jar包發(fā)生變動時,直接更新宿主機目錄下的jar包即可。即使jar包名字發(fā)生變化,也需要再更新hellolearn.sh腳本。更新之後重啟容器。

6.8 web測試效果

docker怎麼部署SpringBoot及替換jar包

查看docker日誌

docker logs [options] container id

options說明:

-f : 追蹤日誌輸出
--since :顯示某個開始時間的所有日誌
-t : 顯示時間戳
-- tail :僅列出最新n條容器日誌

7.1 檢視指定時間後的日誌,只顯示最後100行:

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

7.2 查個指定時間區(qū)段的日誌

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

#7.3 檢視指定時間後面的日誌:

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

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

#docker logs --since 5m container id

7.5 透過exec 指令對指定的容器執(zhí)行bash:

docker exec hellolearn -it /bin/bash?

#或?docker exec -it hellolearn bash7.6 查看docker ip

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

遇到的問題

問題描述: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

以上是docker怎麼部署SpringBoot及替換jar包的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發(fā)現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
.NET Core快速入門教程 1、開篇:說說.NET Core的那些事兒 .NET Core快速入門教程 1、開篇:說說.NET Core的那些事兒 May 07, 2025 pm 04:54 PM

一、.NETCore的起源談到.NETCore,就不能不提它的前身.NET。當年Java風頭正盛,微軟也對Java青睞有加,Windows平臺上的Java虛擬機就是微軟依據JVM標準開發(fā)的,據稱是當時性能最佳的Java虛擬機。然而,微軟有自己的小算盤,試圖將Java與Windows平臺捆綁,增加一些Windows特有的功能。 Sun公司對此不滿,導致雙方關係破裂,微軟隨後推出了.NET。 .NET從誕生之初就借鑒了Java的許多特性,並在語言特性和窗體開發(fā)等方面逐漸超越了Java。 Java在1.6版

怎樣開發(fā)一個完整的PythonWeb應用程序? 怎樣開發(fā)一個完整的PythonWeb應用程序? May 23, 2025 pm 10:39 PM

要開發(fā)一個完整的PythonWeb應用程序,應遵循以下步驟:1.選擇合適的框架,如Django或Flask。 2.集成數據庫,使用ORM如SQLAlchemy。 3.設計前端,使用Vue或React。 4.進行測試,使用pytest或unittest。 5.部署應用,使用Docker和平臺如Heroku或AWS。通過這些步驟,可以構建出功能強大且高效的Web應用。

Docker vs. Kubernetes:主要差異和協(xié)同作用 Docker vs. Kubernetes:主要差異和協(xié)同作用 May 01, 2025 am 12:09 AM

Docker和Kubernetes是容器化和編排的領軍者。 Docker專注於容器生命週期管理,適合小型項目;Kubernetes則擅長容器編排,適用於大規(guī)模生產環(huán)境。兩者結合可提升開發(fā)和部署效率。

查看Docker容器內部進程信息的方法 查看Docker容器內部進程信息的方法 May 19, 2025 pm 09:06 PM

查看Docker容器內部進程信息有三種方法:1.使用dockertop命令,可以列出容器內所有進程,顯示PID、用戶、命令等信息;2.使用dockerexec進入容器內部,再用ps或top命令查看詳細進程信息;3.使用dockerstats命令,實時顯示容器資源使用情況,結合dockertop可全面了解容器性能。

如何在Ubuntu上部署PyTorch應用 如何在Ubuntu上部署PyTorch應用 May 29, 2025 pm 11:18 PM

在Ubuntu上部署PyTorch應用可以通過以下步驟完成:1.安裝Python和pip首先,確保你的系統(tǒng)上已經安裝了Python和pip。你可以使用以下命令來安裝它們:sudoaptupdatesudoaptinstallpython3python3-pip2.創(chuàng)建虛擬環(huán)境(可選)為了隔離你的項目環(huán)境,建議創(chuàng)建一個虛擬環(huán)境:python3-mvenvmyenvsourcemyenv/bin/activat

Debian上Jenkins部署性能調優(yōu) Debian上Jenkins部署性能調優(yōu) May 28, 2025 pm 04:51 PM

在Debian上部署和調優(yōu)Jenkins是一個涉及多個步驟的過程,包括安裝、配置、插件管理和性能優(yōu)化。以下是一個詳細的指南,幫助你實現高效的Jenkins部署。安裝Jenkins首先,確保你的系統(tǒng)已經安裝了Java環(huán)境。 Jenkins需要Java運行時環(huán)境(JRE)才能正常運行。 sudoaptupdatesudoaptinstallopenjdk-11-jdk驗證Java安裝成功:java-version接下來,添加J

批量停止Docker容器的高效操作方法 批量停止Docker容器的高效操作方法 May 19, 2025 pm 09:03 PM

批量停止Docker容器的高效方法包括使用基本命令和工具。 1.使用dockerstop$(dockerps-q)命令,並可調整超時時間,如dockerstop-t30$(dockerps-q)。 2.利用dockerps的過濾選項,如dockerstop$(dockerps-q--filter"label=app=web")。 3.使用DockerCompose命令docker-composedown。 4.編寫腳本按順序停止容器,如停止db、app和web容器。

比較不同Docker鏡像版本差異的方法 比較不同Docker鏡像版本差異的方法 May 19, 2025 pm 09:00 PM

比較不同Docker鏡像版本差異的方法有兩種:1.使用dockerdiff命令查看容器文件系統(tǒng)變化;2.使用dockerhistory命令查看鏡像構建層級差異。這些方法有助於理解和優(yōu)化鏡像版本管理。

See all articles