最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 運行多個Springboot的詳細教程

 更新時間:2020年12月10日 11:28:09   作者:悟能的師兄  
這篇文章主要介紹了Docker 運行多個Springboot的詳細教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

docker 運行多個Springboot

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

第一個:端口映射

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

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

第二個:指定內存大小

-m,--memory         內存限制,格式是數(shù)字加單位,單位可以為 b,k,m,g。最小為 4M
--memory-swap        內存+交換分區(qū)大小總限制。格式同上。必須比-m設置的大
--memory-reservation     內存的軟性限制。格式同上
--oom-kill-disable      是否阻止 OOM killer 殺死容器,默認沒設置
--oom-score-adj       容器被 OOM killer 殺死的優(yōu)先級,范圍是[-1000, 1000],默認為 0
--memory-swappiness     用于設置容器的虛擬內存控制行為。值為 0~100 之間的整數(shù)
--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服務管理的一塊區(qū)域(默認是/var/lib/docker/volumes下的文件夾)掛載到容器。

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

使用--mount參數(shù)時,需要指定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參數(shù):

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

 具體內容請參考:Docker數(shù)據(jù)存儲之Bind mounts詳解

第四個:日志文件

第一步:先獲取運行容器的ID:da3199e9d032    
 
[hn@iZbp1gp1t778obaz5m8vk8Z guides]$ docker ps
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS          NAMES
da3199e9d032    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

第五個:宿主機與容器網(wǎng)絡交互

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

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

第六個:你會遇到的坑

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

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

例如:
[yn@iZbp1gp1t778obaz5m8vk8Z logs]$ docker ps -a
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS          NAMES
abe77b60254a    assistant      "java -Djava.secur..."  6 minutes ago    Up 6 minutes    0.0.0.0:9304->8091/tcp  nostalgic_albattani
37c6dd777636    collect       "java -Djava.secur..."  30 hours ago    Up 30 hours     0.0.0.0:8093->8093/tcp  silly_poincare
4dcb9fcae281    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

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

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

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

相關文章

  • docker如何查看容器/刪除(所有)容器/刪除鏡像

    docker如何查看容器/刪除(所有)容器/刪除鏡像

    這篇文章主要介紹了docker如何查看容器/刪除(所有)容器/刪除鏡像問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Docker中運行PostgreSQL并推薦幾款連接工具

    Docker中運行PostgreSQL并推薦幾款連接工具

    PostgreSQL支持大部分的SQL標準并且提供了很多其他現(xiàn)代特性,如復雜查詢、外鍵、觸發(fā)器、視圖、事務完整性、多版本并發(fā)控制等,今天給大家介紹Docker中運行PostgreSQL并推薦幾款連接工具,需要的朋友參考下吧
    2021-06-06
  • 基于Docker與Jenkins實現(xiàn)自動化部署的原理解析

    基于Docker與Jenkins實現(xiàn)自動化部署的原理解析

    這篇文章主要介紹了基于Docker與Jenkins實現(xiàn)自動化部署,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • 詳解使用?docker?compose?部署?golang?的?Athens?私有代理問題

    詳解使用?docker?compose?部署?golang?的?Athens?私有代理問題

    這篇文章主要介紹了使用?docker-compose?部署?golang?的?Athens?私有代理,幫助大家快速學習athens 如何構建私有代理,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • 如何在 Ubuntu 下通過 Docker 部署 Caddy 服務器

    如何在 Ubuntu 下通過 Docker 部署 Caddy 

    本文介紹了如何在Ubuntu系統(tǒng)下通過Docker部署Caddy服務器,首先安裝Docker,然后啟動Docker服務并設置為開機自啟,接著拉取Caddy鏡像,并創(chuàng)建一個Caddyfile配置文件,使用命令運行Caddy容器,并將本地的Caddyfile掛載到容器內,感興趣的朋友跟隨小編一起看看吧
    2025-03-03
  • 關于Jenkins + Docker + ASP.NET Core自動化部署的問題(避免踩坑)

    關于Jenkins + Docker + ASP.NET Core自動化部署的問題(避免踩坑)

    這篇文章主要介紹了關于Jenkins + Docker + ASP.NET Core自動化部署的問題,本文給大家?guī)砹薲ocker安裝方法及一些注意事項,內容有點小長,希望朋友們耐心看完,一定有收獲
    2021-05-05
  • Docker容器命令執(zhí)行狀態(tài)碼的檢查與分析

    Docker容器命令執(zhí)行狀態(tài)碼的檢查與分析

    在 Docker 容器化技術日益普及的今天,容器的運行狀態(tài)和健康檢查成為了運維人員和開發(fā)者關注的焦點,了解如何在 Docker 容器中執(zhí)行命令并檢查其退出狀態(tài)碼,對于確保容器服務的穩(wěn)定性和可靠性至關重要,需要的朋友可以參考下
    2024-12-12
  • Docker使用java項目工程的部署

    Docker使用java項目工程的部署

    隨著容器化技術的廣泛應用,Docker成為了一種非常流行的容器化解決方案,本文主要介紹了Docker使用java項目工程的部署,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • docker.service啟動失?。篣nit not found的原因及解決辦法

    docker.service啟動失?。篣nit not found的原因及解決辦法

    這篇文章主要介紹了docker.service啟動失敗:Unit not found的原因分析及解決辦法,需要的朋友可以參考下
    2017-04-04
  • docker如何在mac-m1芯片部署并啟用tomcat

    docker如何在mac-m1芯片部署并啟用tomcat

    這篇文章主要介紹了docker在mac-m1芯片部署并啟用tomcat,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03

最新評論

泽库县| 永州市| 西丰县| 汶川县| 内丘县| 石嘴山市| 黔西| 师宗县| 福建省| 徐汇区| 天长市| 布尔津县| 广东省| 察隅县| 新晃| 黎城县| 重庆市| 塔河县| 巴南区| 鄂州市| 宁南县| 济源市| 宁化县| 阿城市| 迁安市| 观塘区| 合阳县| 阳新县| 喀喇沁旗| 彩票| 大化| 岑溪市| 大田县| 湄潭县| 如皋市| 德钦县| 沛县| 沙洋县| 甘肃省| 田东县| 怀安县|