色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Docker 運行多個Springboot的詳細教程

瀏覽:2日期:2023-11-27 09:46:14

docker 運行多個Springboot

第一個:端口映射第二個:指定內存大小第三個:讀取、寫入物理文件第四個:日志文件第五個:多個容器內部網絡訪問第六個:遇到的問題

第一個:端口映射

Nginx使用的是轉發,那么這個是最簡單的。

[hn@iZbp1gp1t778obaz5m8vk8Z guides]$ docker run -d -p 8093:8093 guides-collect 將物理的端口映射為虛擬的端口即可,這個很簡單

第二個:指定內存大小

-m,--memory 內存限制,格式是數字加單位,單位可以為 b,k,m,g。最小為 4M--memory-swap內存+交換分區大小總限制。格式同上。必須比-m設置的大--memory-reservation 內存的軟性限制。格式同上--oom-kill-disable 是否阻止 OOM killer 殺死容器,默認沒設置--oom-score-adj 容器被 OOM killer 殺死的優先級,范圍是[-1000, 1000],默認為 0--memory-swappiness 用于設置容器的虛擬內存控制行為。值為 0~100 之間的整數--kernel-memory 核心內存限制。格式同上,最小為 4M

樣例: [hn@iZbp1gp1t778obaz5m8vk8Z guides]$ docker run -d -m 1G --memory-swap 4G -p 8093:8093 guides-collect

第三個:讀取物理文件、寫入物理文件

上面兩個情況啟動時就加載,但是運行時需要不斷讀取本地文件該怎么辦嘞 ?

[hn-docker@iZbp1gp1t778obaz5m8vk8Z ~]$ docker run -d -m 1G --memory-swap 4G -p 8092:8092 -v /home/hn-docker/docker/wechat:/springboot/wechat guides-message message容器的啟動相當于是先從把鏡像內的文件地址,映射到物理機器上的地址;如鏡像地址:/springboot/wechat物理地址:/home/hn-docker/docker/wechat

Bind mounts

Bind mounts模式和Volumes非常相似,不同點在于Bind mounts模式是將宿主機上的任意文件或文件夾掛載到容器,而Volumes本質上是將Docker服務管理的一塊區域(默認是/var/lib/docker/volumes下的文件夾)掛載到容器。

Bind mounts的使用和Volumes類似,也是通過-v或--mount參數將宿主機文件掛載容器中。下面是一個例子:

使用--mount參數時,需要指定type=bind:

$ docker run -d --name=nginxtest --mount type=bind,source=/usr/local/web,destination=/usr/share/nginx/html nginx:latest

上面的例子將宿主機上的/usr/local/web文件夾掛載到容器中的/usr/share/nginx/html文件夾。

或者使用-v參數:

$ docker run -d --name=nginxtest -v /usr/local/web:/usr/share/nginx/html nginx:latest

具體內容請參考:Docker數據存儲之Bind mounts詳解

第四個:日志文件

第一步:先獲取運行容器的ID:da3199e9d032 [hn@iZbp1gp1t778obaz5m8vk8Z guides]$ docker psCONTAINER ID IMAGECOMMAND CREATED STATUS PORTS NAMESda3199e9d032 guides-collect 'java -Djava.secur...' 2 hours ago Up 2 hours 0.0.0.0:8093->8093/tcp sharp_mirzakhani 第二步:查詢運行日志 - 搞定[hn@iZbp1gp1t778obaz5m8vk8Z guides]$ docker logs -f 51c384b8afee

參考信息:

命令格式:

$ docker logs [OPTIONS] CONTAINER Options: --details 顯示更多的信息 -f, --follow 跟蹤實時日志 --since string 顯示自某個timestamp之后的日志,或相對時間,如42m(即42分鐘) --tail string 從日志末尾顯示多少行日志, 默認是all -t, --timestamps 顯示時間戳 --until string 顯示自某個timestamp之前的日志,或相對時間,如42m(即42分鐘)

例子:

查看指定時間后的日志,只顯示最后100行:

$ docker logs -f -t --since='2018-02-08' --tail=100 CONTAINER_ID

查看最近30分鐘的日志:

$ docker logs --since 30m CONTAINER_ID

查看某時間之后的日志:

$ docker logs -t --since='2018-02-08T13:23:37' CONTAINER_ID

查看某時間段日志:

$ docker logs -t --since='2018-02-08T13:23:37' --until '2018-02-09T12:23:37' CONTAINER_ID

第五個:宿主機與容器網絡交互

問題描述:當你docker內運行的springboot想訪問宿主機的Redis、獲取其他容器的MySQL時,朋友你是否傻眼了

解決方案:需要查詢到宿主機容器的軟連接ip,使用內網ip訪問就ok了 docker inspect -f ’{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ xxxid (容器id) 例如:[yn@iZbp1gp1t778obaz5m8vk8Z logs]$ docker ps -aCONTAINER ID IMAGECOMMAND CREATED STATUS PORTS NAMESabe77b60254a assistant 'java -Djava.secur...' 6 minutes ago Up 6 minutes 0.0.0.0:9304->8091/tcp nostalgic_albattani37c6dd777636 collect 'java -Djava.secur...' 30 hours ago Up 30 hours 0.0.0.0:8093->8093/tcp silly_poincare4dcb9fcae281 message 'java -Djava.secur...' 3 days ago Up 3 days 0.0.0.0:8092->8092/tcp reverent_galileo 比如要查:abe77b60254a 這個容器的網絡地址[yn@iZbp1gp1t778obaz5m8vk8Z logs]$ docker inspect -f ’{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ abe77b60254a172.17.0.4 這個時候:abe77b60254a 這個容器的IP地址就是:172.17.0.4想訪問就走內網地址 172.17.0.4 即可同時也可得知宿主機的IP就應該是 172.17.0.1

第六個:你會遇到的坑

一:鏡像啟動失敗,然后怎么看日志

啟動失敗后,需要知道是哪個鏡像的ID、然后用日志去查:docker logs -f 鏡像id

例如:[yn@iZbp1gp1t778obaz5m8vk8Z logs]$ docker ps -aCONTAINER ID IMAGECOMMAND CREATED STATUS PORTS NAMESabe77b60254a assistant 'java -Djava.secur...' 6 minutes ago Up 6 minutes 0.0.0.0:9304->8091/tcp nostalgic_albattani37c6dd777636 collect 'java -Djava.secur...' 30 hours ago Up 30 hours 0.0.0.0:8093->8093/tcp silly_poincare4dcb9fcae281 message 'java -Djava.secur...' 3 days ago Up 3 days 0.0.0.0:8092->8092/tcp reverent_galileo 查這個容器日志最新的10行[yn@iZbp1gp1t778obaz5m8vk8Z ~]$ docker logs -f -t --tail 10 abe77b60254a

二:日志時間或者數據存儲至數據庫比實際時間小8個小時

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo ’Asia/Shanghai’ >/etc/timezone

Docker 運行多個Springboot的詳細教程

到此這篇關于Docker 運行多個Springboot的詳細教程的文章就介紹到這了,更多相關Docker 運行多個Springboot內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 国产视频97 | 特级欧美午夜aa毛片 | 全部精品孕妇色视频在线 | 亚洲第一网站 | 特级毛片aaa免费版 特级毛片a级毛免费播放 | 亚洲欧美一级视频 | 欧美性猛交xxx免费看人妖 | 日本三级s级在线播放 | 精品一区二区三区在线观看l | 91久久精品国产一区二区 | 91精品国产免费久久国语蜜臀 | 国产精品美女久久久久网站 | 国产欧美精品区一区二区三区 | a网站免费 | 呦女精品视频 | 一个人看的日本免费视频 | 永久黄网站色视频免费观看99 | 日本一本色道 | 免费一级欧美在线观看视频片 | 曰本aaaaa毛片午夜网站 | 午夜在线伦理福利视频 | 国产一区中文字幕在线观看 | 国产在线观看网址在线视频 | 免费人成在线观看网站品爱网 | 俄罗斯毛片免费大全 | 在线观看一级 | 91精品一区二区三区在线观看 | 精品在线看 | 久久久久在线视频 | 亚洲欧美卡通动漫丝袜美腿 | 在线成人aa在线看片 | 日韩欧免费一区二区三区 | 不卡精品国产_亚洲人成在线 | 一级毛片牲交大片 | 成年男女免费视频网站播放 | 亚洲天堂久久精品成人 | 国产女厕所| 亚洲欧美7777 | 男人天堂日韩 | 99国内精品久久久久久久 | 成人在免费视频手机观看网站 |