欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker 運(yùn)行多個(gè)Springboot的詳細(xì)教程

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

docker 運(yùn)行多個(gè)Springboot

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

第一個(gè):端口映射

Nginx使用的是轉(zhuǎn)發(fā),那么這個(gè)是最簡(jiǎn)單的。

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

第二個(gè):指定內(nèi)存大小

-m,--memory         內(nèi)存限制,格式是數(shù)字加單位,單位可以為 b,k,m,g。最小為 4M
--memory-swap        內(nèi)存+交換分區(qū)大小總限制。格式同上。必須比-m設(shè)置的大
--memory-reservation     內(nèi)存的軟性限制。格式同上
--oom-kill-disable      是否阻止 OOM killer 殺死容器,默認(rèn)沒(méi)設(shè)置
--oom-score-adj       容器被 OOM killer 殺死的優(yōu)先級(jí),范圍是[-1000, 1000],默認(rèn)為 0
--memory-swappiness     用于設(shè)置容器的虛擬內(nèi)存控制行為。值為 0~100 之間的整數(shù)
--kernel-memory       核心內(nèi)存限制。格式同上,最小為 4M
樣例:
 
[hn@iZbp1gp1t778obaz5m8vk8Z guides]$ docker run -d -m 1G --memory-swap 4G -p 8093:8093 guides-collect

第三個(gè):讀取物理文件、寫入物理文件

上面兩個(gè)情況啟動(dòng)時(shí)就加載,但是運(yùn)行時(shí)需要不斷讀取本地文件該怎么辦嘞 ?

[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容器的啟動(dòng)相當(dāng)于是先從把鏡像內(nèi)的文件地址,映射到物理機(jī)器上的地址;如
鏡像地址:/springboot/wechat
物理地址:/home/hn-docker/docker/wechat

Bind mounts

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

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

使用--mount參數(shù)時(shí),需要指定type=bind

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

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

或者使用-v參數(shù):

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

 具體內(nèi)容請(qǐng)參考:Docker數(shù)據(jù)存儲(chǔ)之Bind mounts詳解

第四個(gè):日志文件

第一步:先獲取運(yùn)行容器的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
 
第二步:查詢運(yùn)行日志 - 搞定
[hn@iZbp1gp1t778obaz5m8vk8Z guides]$ docker logs -f 51c384b8afee

參考信息:

命令格式:

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

例子:

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

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

查看最近30分鐘的日志:

$ docker logs --since 30m CONTAINER_ID

查看某時(shí)間之后的日志:

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

查看某時(shí)間段日志:

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

第五個(gè):宿主機(jī)與容器網(wǎng)絡(luò)交互

問(wèn)題描述:當(dāng)你docker內(nèi)運(yùn)行的springboot想訪問(wèn)宿主機(jī)的Redis、獲取其他容器的MySQL時(shí),朋友你是否傻眼了

解決方案:需要查詢到宿主機(jī)容器的軟連接ip,使用內(nèi)網(wǎng)ip訪問(wèn)就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 這個(gè)容器的網(wǎng)絡(luò)地址
[yn@iZbp1gp1t778obaz5m8vk8Z logs]$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' abe77b60254a
172.17.0.4
 
這個(gè)時(shí)候:
abe77b60254a 這個(gè)容器的IP地址就是:172.17.0.4
想訪問(wèn)就走內(nèi)網(wǎng)地址 172.17.0.4 即可
同時(shí)也可得知宿主機(jī)的IP就應(yīng)該是 172.17.0.1

第六個(gè):你會(huì)遇到的坑

一:鏡像啟動(dòng)失敗,然后怎么看日志

啟動(dòng)失敗后,需要知道是哪個(gè)鏡像的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
 
查這個(gè)容器日志最新的10行
[yn@iZbp1gp1t778obaz5m8vk8Z ~]$ docker logs -f -t --tail 10 abe77b60254a

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

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

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

相關(guān)文章

  • Docker部署Kafka以及Spring Kafka實(shí)現(xiàn)

    Docker部署Kafka以及Spring Kafka實(shí)現(xiàn)

    這篇文章主要介紹了Docker部署Kafka以及Spring Kafka實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 如何通過(guò)Jenkins定期清理為None的鏡像詳解

    如何通過(guò)Jenkins定期清理為None的鏡像詳解

    這篇文章主要給大家介紹了關(guān)于如何通過(guò)Jenkins定期清理為None的鏡像的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 借助Docker搭建JMeter+Grafana+Influxdb監(jiān)控平臺(tái)的詳細(xì)教程

    借助Docker搭建JMeter+Grafana+Influxdb監(jiān)控平臺(tái)的詳細(xì)教程

    這篇文章主要介紹了借助Docker搭建JMeter+Grafana+Influxdb監(jiān)控平臺(tái),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • docker使用alpine構(gòu)建jdk21鏡像的詳細(xì)步驟

    docker使用alpine構(gòu)建jdk21鏡像的詳細(xì)步驟

    這篇文章主要給大家介紹了關(guān)于docker使用alpine構(gòu)建jdk21鏡像的詳細(xì)步驟,鏡像中包含了應(yīng)用程序所需要的運(yùn)行環(huán)境,函數(shù)庫(kù),配置,以及應(yīng)用本身等各種文件,這些文件分層打包而成,需要的朋友可以參考下
    2024-03-03
  • Docker?部署RocketMQ的詳細(xì)操作

    Docker?部署RocketMQ的詳細(xì)操作

    這篇文章主要介紹了Docker?部署RocketMQ的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • 云原生之docker命令詳解

    云原生之docker命令詳解

    Docker是一個(gè)開源的應(yīng)用容器引擎,基于Go語(yǔ)言并遵從Apache2.0協(xié)議開源,Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化,本文就給大家介紹了云原生中的docker命令
    2023-06-06
  • Docker新手初探之常用命令實(shí)踐記錄

    Docker新手初探之常用命令實(shí)踐記錄

    這篇文章主要給大家介紹了關(guān)于Docker新手初探之常用命令實(shí)踐的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Docker系列之使用Docker Compose編排容器

    Docker系列之使用Docker Compose編排容器

    Docker Compose 是 Docker 容器進(jìn)行編排的工具,定義和運(yùn)行多容器的應(yīng)用,可以一條命令啟動(dòng)多個(gè)容器,這篇文章主要介紹了Docker系列之使用Docker Compose編排容器,感興趣的小伙伴們可以參考一下
    2018-06-06
  • MacOS?Docker?安裝的實(shí)現(xiàn)步驟

    MacOS?Docker?安裝的實(shí)現(xiàn)步驟

    本文主要介紹了MacOS?Docker?安裝的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Docker安裝Oracle19c史上最全步驟

    Docker安裝Oracle19c史上最全步驟

    本文主要介紹了Docker安裝Oracle19c,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04

最新評(píng)論