婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解docker部署SpringBoot及替換jar包的方法

詳解docker部署SpringBoot及替換jar包的方法

熱門標簽:海外工廠地圖標注 地圖標注小程序 信陽電銷外呼系統怎么樣 南充電銷外呼系統 宿州外呼系統公司 南昌外呼系統定制 貴陽網絡外呼系統軟件 陜西辦理400電話 株洲電銷

關于docker的安裝和使用,可以看看之前這兩篇文章。docker kubernetes dashboard安裝部署詳細介紹和Docker如何使用link建立容器之間的連接。這篇文章主要介紹如何在docker上部署springboot項目。關于如何創建springboot項目可以看看這篇文章IDEA上面搭建一個SpringBoot的web-mvc項目遇到的問題

本文主要介紹docker部署springboot的三種方式,分別是:入門方式、jar包替換部署的方式和腳本部署方式,一步步來手把手教程。注意這三種方式的命名是我自創非官方的。

工程目錄

Dockerfile文件

創建Dockerfile文件,后面會用到。

# Docker image for springboot file run
# VERSION 0.0.1
# Author: toutou
# 基礎鏡像使用java
FROM java:8
# VOLUME 指定了臨時文件目錄為/tmp。
# 其效果是在主機 /var/lib/docker 目錄下創建了一個臨時文件,并鏈接到容器的/tmp
# VOLUME /tmp
# 將jar包添加到容器中并更名為app.jar
ADD learn-web-0.0.1-SNAPSHOT.jar app.jar
# 運行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar"]
###聲明啟動端口號
#EXPOSE 8301

文件部署

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

生成鏡像

docker build -t hellolearn .

docker build -t 鏡像名稱:標簽 Dockerfile的相對位置,點號代表當前目錄,不寫tag默認是latest。

啟動容器

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

docker start hellolearn

-d參數是讓容器后臺運行;--name為指定容器的名稱;-p 是做端口映射,此時將服務器中的8301(冒號前的端口)端口映射到容器中的8301(冒號后的端口)端口(application.properties配置的是8301)

訪問WEB

jar包映射部署

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

5.1 更新Dockerfile

# Docker image for springboot file run
# VERSION 0.0.1
# Author: toutou
# 基礎鏡像使用java
FROM java:8
EXPOSE 8301
ENTRYPOINT ["java","-jar","/data/learn-web-0.0.1-SNAPSHOT.jar"]

最后一行 ENTRYPOINT ["java","-jar","/data/learn-web-0.0.1-SNAPSHOT.jar"] 會運行容器里/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包發生變動時,直接更新宿主機的/data/docker/newhellolearn/package目錄下的jar包即可,更新jar包之后需要將容器重啟一下。

腳本部署

通過jar包部署方式引起一個問題,若jar包名字發生變化,比如版本號變化(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 添加腳本執行權限

chmod +x hellolearn.sh

6.3 創建Dockerfile

# Docker image for springboot file run
# VERSION 0.0.1
# Author: toutou
# 基礎鏡像使用java
FROM java:8
EXPOSE 8301
CMD ["sh","-c","/data/hellolearn.sh"]

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

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

6.4 上傳jar包

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

6.5 文件目錄結構圖

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

6.6 創建鏡像

docker build -t hellolearn-script .

末尾的點號代表當前目錄,所以生成鏡像的命令需要在Dockerfile所在的目錄執行。

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包發生變動時,直接更新宿主機目錄下的jar包即可。即使jar包名字發生變化,也需要再更新一下hellolearn.sh腳本。更新之后重啟容器。

6.8 web測試效果

查看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 查個指定時間區段的日志

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 命令對指定的容器執行 bash:

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

7.6 查看docker IP

docker inspect --format='{{.NetworkSettings.IPAddress}}' hellolearn

遇到的問題

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

具體問題相關信息詳見Error response from daemon: driver failed programming external connectivity on endpoint mysql3308 (

源碼地址

https://github.com/toutouge/javademosecond/tree/master/hellolearn

到此這篇關于詳解docker部署SpringBoot及替換jar包的方法的文章就介紹到這了,更多相關docker部署SpringBoot及替換jar包內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:開封 石嘴山 晉城 三明 汕頭 玉林 鄭州 拉薩

巨人網絡通訊聲明:本文標題《詳解docker部署SpringBoot及替換jar包的方法》,本文關鍵詞  詳解,docker,部署,SpringBoot,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解docker部署SpringBoot及替換jar包的方法》相關的同類信息!
  • 本頁收集關于詳解docker部署SpringBoot及替換jar包的方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一区二区三区在线观看国产 | 国产精品一品视频| 成人激情小说网站| 3atv一区二区三区| 亚洲综合区在线| 成人av在线资源网站| 欧美一级在线免费| 亚洲成人av一区二区三区| 国产91清纯白嫩初高中在线观看| 91精品国产综合久久久久久| 亚洲丝袜自拍清纯另类| 国产酒店精品激情| 日韩一区二区三区视频在线 | 日韩免费一区二区| 亚洲一区二区影院| 日本精品一区二区三区四区的功能| 久久精品视频在线免费观看| 另类欧美日韩国产在线| 欧美精品在线一区二区三区| 亚洲一区二区中文在线| 91在线观看视频| 国产精品美女久久福利网站| 国产成人福利片| 精品国产99国产精品| 激情深爱一区二区| 日韩欧美三级在线| 蜜桃视频一区二区| 精品毛片乱码1区2区3区| 日本亚洲三级在线| 日韩欧美国产小视频| 另类专区欧美蜜桃臀第一页| 日韩欧美一级精品久久| 久草精品在线观看| 久久久精品国产免费观看同学| 国产一区二区三区国产| 久久综合久久鬼色中文字| 国产真实乱偷精品视频免| 国产亚洲短视频| 成人网在线播放| 亚洲免费资源在线播放| 欧美日韩视频在线一区二区| 天堂久久久久va久久久久| 51久久夜色精品国产麻豆| 美女www一区二区| 久久亚洲综合色| www.亚洲色图| 不卡的电影网站| 亚洲欧洲日产国码二区| 欧美中文字幕一区二区三区亚洲 | 精品亚洲porn| 久久先锋影音av鲁色资源网| 成人免费福利片| 亚洲黄一区二区三区| 欧美精品在线一区二区三区| 国产一区二区毛片| 综合精品久久久| 欧美久久久久久久久久| 国产一区二区三区在线看麻豆| 国产精品久久三| 欧美精品丝袜中出| 国产一区二区久久| 亚洲一区二区三区四区五区黄| 日韩视频一区二区在线观看| 国产69精品久久久久毛片| 亚洲大片在线观看| 国产日产欧美一区| 欧美日韩国产乱码电影| 国产电影精品久久禁18| 亚洲福利电影网| 日本一区免费视频| 91.com视频| 91在线porny国产在线看| 蜜桃传媒麻豆第一区在线观看| 国产精品视频一二三| 91精品国产综合久久精品| 成人高清视频免费观看| 久久狠狠亚洲综合| 亚洲你懂的在线视频| 久久香蕉国产线看观看99| 欧美精品日韩一区| 色天天综合色天天久久| 国产黄色成人av| 免费高清在线视频一区·| 亚洲欧美日韩国产综合在线| 久久女同性恋中文字幕| 欧美日韩国产免费| 欧洲在线/亚洲| 粉嫩av一区二区三区粉嫩| 老司机精品视频线观看86| 亚洲午夜国产一区99re久久| 欧美久久久久久久久| 国产拍揄自揄精品视频麻豆| 欧美色图一区二区三区| 韩国成人在线视频| 三级久久三级久久久| 亚洲精品视频在线观看网站| 日本一区二区在线不卡| 亚洲精品一区二区三区99| 日韩女优制服丝袜电影| 在线播放中文一区| 欧洲国产伦久久久久久久| 99re8在线精品视频免费播放| 国产高清久久久久| 国产精品18久久久久久vr| 久久99九九99精品| 激情综合色播激情啊| 九九九久久久精品| 国产一区二区三区不卡在线观看| 久久9热精品视频| 乱一区二区av| 韩国三级中文字幕hd久久精品| 亚洲视频一二区| 中文字幕一区二区三区四区| 国产精品成人午夜| 国产精品毛片高清在线完整版| 国产情人综合久久777777| 久久久久久97三级| 国产精品久久午夜夜伦鲁鲁| 国产精品天干天干在线综合| 中文字幕不卡三区| 亚洲色图欧美偷拍| 一区二区三区欧美| 日韩精品亚洲一区二区三区免费| 青青国产91久久久久久| 激情另类小说区图片区视频区| 国产精品1区二区.| 成人av网站在线观看免费| 色噜噜狠狠成人网p站| 8x8x8国产精品| 久久久久久免费网| 一区二区中文视频| 亚洲成av人片观看| 韩国av一区二区三区四区| 成人av电影在线网| 欧美在线免费视屏| 日韩免费观看高清完整版在线观看| 久久亚洲精精品中文字幕早川悠里| 亚洲国产精品t66y| 亚洲成人久久影院| 国产成人精品一区二区三区四区 | 欧美日韩在线三级| 欧美一区二区三区白人| 国产婷婷色一区二区三区| 亚洲色图20p| 韩国理伦片一区二区三区在线播放| 不卡一卡二卡三乱码免费网站| 欧美性淫爽ww久久久久无| 精品成人一区二区| 亚洲网友自拍偷拍| 国产激情视频一区二区在线观看 | 国产欧美一区二区精品仙草咪| 亚洲日本丝袜连裤袜办公室| 蜜臀精品一区二区三区在线观看 | 亚洲香肠在线观看| 国产美女在线观看一区| 欧美性生活大片视频| 久久综合九色综合97婷婷| 亚洲一级二级三级在线免费观看| 国产精品中文字幕一区二区三区| 色88888久久久久久影院野外| 久久夜色精品一区| 丝袜美腿一区二区三区| av一区二区不卡| 精品精品欲导航| 亚洲一区二区三区四区在线观看 | 在线免费观看日本一区| 国产色综合一区| 久久国产夜色精品鲁鲁99| 色婷婷综合在线| 国产精品情趣视频| 国产精品一区免费视频| 欧美一区二区大片| 石原莉奈在线亚洲二区| 91免费国产视频网站| 国产精品人成在线观看免费 | 亚洲精品菠萝久久久久久久| 国产成人免费av在线| 日韩欧美aaaaaa| 蜜臀a∨国产成人精品| 欧美吻胸吃奶大尺度电影| 亚洲色图视频网| 99热这里都是精品| 欧美国产日本韩| 国产成人综合视频| 国产日韩精品一区二区三区| 精品在线免费视频| 精品三级在线观看| 国精产品一区一区三区mba视频| 欧美一区二区三区四区视频| 日韩精品视频网站| 91精品欧美综合在线观看最新| 亚洲.国产.中文慕字在线| 欧美性猛交xxxx乱大交退制版| 亚洲一二三专区| 欧美视频一区二区| 日韩精品一二三区| 精品粉嫩超白一线天av| 国产大陆亚洲精品国产| 国产精品毛片久久久久久| 99久久精品费精品国产一区二区|