国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker容器配置啟動(dòng)順序的三種方式

這篇具有很好參考價(jià)值的文章主要介紹了Docker容器配置啟動(dòng)順序的三種方式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

如果對(duì)你有幫助希望點(diǎn)贊收藏~

轉(zhuǎn)載請(qǐng)注明出處~

歡迎批評(píng)、指點(diǎn)、討論~

https://blog.csdn.net/L_Open2021/article/details/129901741

目錄

1.問(wèn)題描述

2.問(wèn)題解決

方法1:通過(guò) depends_on 結(jié)合 healthcheck 實(shí)現(xiàn)容器順序啟動(dòng)(強(qiáng)烈推薦?。?/p>

?方案2:shell腳本彈窗被依賴(較復(fù)雜)

方案3:通過(guò)Docker file 設(shè)置延時(shí)啟動(dòng)(不推薦,偽順序)


1.問(wèn)題描述

在微服務(wù)項(xiàng)目中,多容器之間存在相關(guān)依賴的關(guān)系。

B容器啟動(dòng)時(shí)會(huì)調(diào)用A容器部分接口,所以存在B容器會(huì)由于A容器而啟動(dòng)失敗的情況

2.問(wèn)題解決

方法1:通過(guò) depends_on 結(jié)合 healthcheck 實(shí)現(xiàn)容器順序啟動(dòng)(強(qiáng)烈推薦?。?/h3>

例:webB容器依賴了webA容器

先來(lái)看docker-compose

services:  
  webA:
    restart: always
    environment:
    MYSQL_PWD: 123456
    container_name: webA
    image: webA

    healthcheck:
	 # http://localhost:4000/health 為webA容器指定的健康檢查接口
      test: ["CMD", "curl", "-f", "http://localhost:4000/health"]
     # 健康檢查的間隔,默認(rèn)為 30 秒,單位(h/m/s);
      interval: 30s 
	 # 健康檢查命令運(yùn)行超時(shí)時(shí)間,如果超過(guò)這個(gè)時(shí)間,本次健康檢查就被視為失敗,單位(h/m/s);
      timeout: 20s
	 # 當(dāng)連續(xù)失敗指定次數(shù)后,則將容器狀態(tài)視為 unhealthy。
      retries: 5

  webB:
    restart: always
    environment:
      MYSQL_PWD: 123456
    container_name: webB
    image: webB
	# webA容器之后啟動(dòng),并且webA容器的健康狀態(tài)為healthy
    depends_on:
      webA: 
	    condition: service_healthy

webB容器啟動(dòng)前會(huì)根據(jù)webA容器的健康狀態(tài)來(lái)判斷是否啟動(dòng),而webA容器的健康狀態(tài)根據(jù)設(shè)定的healthcheck中指定的心跳監(jiān)測(cè)接口來(lái)確定

服務(wù)調(diào)用關(guān)系是 webA?->?webB,我們的服務(wù)由于存在token校驗(yàn)機(jī)制,就算服務(wù)啟動(dòng)成功了,直接調(diào)用 [ip:端口]還是會(huì)失敗【curl: (22) The requested URL returned error: 424】

所以在webA服務(wù)中增加了一個(gè)開(kāi)放的可以繞過(guò)token校驗(yàn)的接口用于服務(wù)心跳監(jiān)測(cè),從而判斷健康狀態(tài)

當(dāng)webA服務(wù)啟動(dòng)時(shí)會(huì)自動(dòng)監(jiān)測(cè)健康狀態(tài),直到確認(rèn)為unhealthy時(shí),bgi服務(wù)會(huì)啟動(dòng)失敗

實(shí)際案例(順序 upms -> bgi -> thingsboard):

失敗時(shí):?

Docker容器配置啟動(dòng)順序的三種方式

?等待狀態(tài):

Docker容器配置啟動(dòng)順序的三種方式Docker容器配置啟動(dòng)順序的三種方式成功狀態(tài):

Docker容器配置啟動(dòng)順序的三種方式

?方案2:shell腳本彈窗被依賴(較復(fù)雜)

????????思路:在容器啟動(dòng)命令執(zhí)行之前,跑一個(gè)shell腳本,通過(guò)shell nc 端口探測(cè)被依賴容器來(lái)確定被依賴的容器是否ready,隨后再去啟動(dòng)后者。

? ? ? ? 1. 直接手寫shell腳本,通過(guò) nc 端口探測(cè)。

https://blog.51cto.com/topic/docker-rongqiqidongshunxu.html

? ? ? ? 2. github上的一個(gè)開(kāi)源項(xiàng)目 wait-for-it,拆箱即用

https://www.jianshu.com/p/c54899d50d05

方案3:通過(guò)Docker file 設(shè)置延時(shí)啟動(dòng)(不推薦,偽順序)

思路:根據(jù)服務(wù)實(shí)際啟動(dòng)時(shí)間,對(duì)每個(gè)服務(wù)進(jìn)行合理的延時(shí)時(shí)間分配?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-470328.html

到了這里,關(guān)于Docker容器配置啟動(dòng)順序的三種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Docker安裝的三種方式

    下載解壓: 配置鏡像加速: 作為服務(wù)啟動(dòng): 啟動(dòng): 下載地址: https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 從 docker 安裝包版本下載對(duì)應(yīng)所有依賴包: 將依賴包移動(dòng)到安裝包目錄下: 安裝: 開(kāi)啟docker并將其設(shè)置成開(kāi)機(jī)自啟動(dòng): 配置鏡像加速: 卸載: 卸載舊版本:

    2024年02月11日
    瀏覽(22)
  • docker容器:docker鏡像的三種創(chuàng)建方法及dockerfile案例

    docker容器:docker鏡像的三種創(chuàng)建方法及dockerfile案例

    目錄 一、基于現(xiàn)有鏡像創(chuàng)建 1、創(chuàng)建啟動(dòng)鏡像 2、生成新鏡像 二、基于本地模板創(chuàng)建? 1、OPENVZ 下載模板 2、導(dǎo)入容器生成鏡像 三、基于dockerfile創(chuàng)建? 1、dockerfile結(jié)構(gòu)及分層 2、聯(lián)合文件系統(tǒng) 3、docker鏡像加載原理 4、dockerfile操作常用的指令 (1)FROM指令 (2)MAINTAINER 指令 (3)RUN指令

    2023年04月20日
    瀏覽(41)
  • docker ps -a命令以及容器的三種狀態(tài)

    docker ps -a命令用于列出所有的Docker容器,包括正在運(yùn)行和已經(jīng)停止的容器。該命令的輸出結(jié)果包含以下信息: CONTAINER ID:容器的唯一標(biāo)識(shí)符; IMAGE:容器所使用的鏡像; COMMAND:容器啟動(dòng)時(shí)執(zhí)行的命令; CREATED:容器的創(chuàng)建時(shí)間; STATUS:容器的狀態(tài); PORTS:容器所使用的端口

    2024年02月07日
    瀏覽(20)
  • Docker——常用掛載的三種方式

    在 Docker 中,有三種常見(jiàn)的掛載方式,它們分別是: 綁定掛載(Bind Mounts) :綁定掛載是將主機(jī)上的文件或目錄掛載到容器中。這種掛載方式允許容器與主機(jī)之間共享文件和目錄,并且對(duì)其中一個(gè)的更改會(huì)直接影響到另一個(gè)。可以通過(guò)在運(yùn)行容器時(shí)使用? -v ?或? --mount ?參數(shù)

    2024年02月12日
    瀏覽(20)
  • docker 數(shù)據(jù)掛載的三種方式

    docker 數(shù)據(jù)掛載的三種方式

    目錄 前言 更詳細(xì)的Diff 適合Volumes的場(chǎng)景 適合bind mounts的場(chǎng)景 適合tmpfs mounts的場(chǎng)景 使用 前言 回到目錄 我們可以將數(shù)據(jù)寫到容器的可寫入層,但是這種寫入是有缺點(diǎn)的: 當(dāng)容器停止運(yùn)行時(shí),寫入的數(shù)據(jù)會(huì)丟失。你也很難將這些數(shù)據(jù)從容器中取出來(lái)給另外的應(yīng)用程序使用。 容

    2024年02月06日
    瀏覽(43)
  • docker 查看日志的三種方式

    docker logs命令是 Docker 的日志管理工具,它能夠在終端中打印出容器的標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出。

    2024年04月25日
    瀏覽(29)
  • Docker 實(shí)現(xiàn)掛載的三種方式

    Docker 實(shí)現(xiàn)掛載的三種方式

    容器中運(yùn)行的應(yīng)用,有可能會(huì)產(chǎn)生數(shù)據(jù),如果將數(shù)據(jù)直接存儲(chǔ)到容器中,如果刪除容器時(shí),容器中的數(shù)據(jù)會(huì)一起被刪除,例如: 如果運(yùn)行的是數(shù)據(jù)庫(kù)容器,數(shù)據(jù)庫(kù)容器直接保存的數(shù)據(jù)文件,刪除容器時(shí),容易導(dǎo)致數(shù)據(jù)丟失 為了防止數(shù)據(jù)丟失,可以把數(shù)據(jù)保存到宿主機(jī)上,這樣有便于容器之間

    2024年01月23日
    瀏覽(27)
  • Docker系列---【Docker設(shè)置時(shí)區(qū)的三種方式】

    將宿主機(jī)與容器的時(shí)間進(jìn)行掛載,直接使用宿主機(jī)的時(shí)區(qū)

    2024年02月17日
    瀏覽(23)
  • Docker存儲(chǔ)目錄遷移的三種方式

    背景: 隨著docker的使用時(shí)間越來(lái)越長(zhǎng),導(dǎo)致鏡像和容器越來(lái)越多,占滿了系統(tǒng)盤空間,這時(shí),我們需要給它們搬個(gè)家了 下面咱們提供三種方式 docker info :查看docker的存儲(chǔ)等相關(guān)信息 1、停止docker 服務(wù) 2、備份數(shù)據(jù)到新的存放路徑 3、備份 /var/lib/docker 路徑 4、創(chuàng)建軟連接 5、啟

    2024年02月07日
    瀏覽(19)
  • 為Java應(yīng)用創(chuàng)建Docker鏡像的三種方式

    為Java應(yīng)用創(chuàng)建Docker鏡像的三種方式

    在 Dockerfiles 出現(xiàn)的很久之前,Java 開(kāi)發(fā)者大多使用單體應(yīng)用方式部署(WARs, JARs, EARs, 等等)?,F(xiàn)在如你所知,最好的做法是為每個(gè)小業(yè)務(wù)單獨(dú)部署的微服務(wù)方式。你構(gòu)建的不是一個(gè)巨大的單體應(yīng)用程序,而是使多個(gè)可以獨(dú)立運(yùn)行的小服務(wù)。 這正是 Docker 的用武之地。如果你想

    2023年04月26日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包