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

docker-compose 如何安排容器啟動的順序

這篇具有很好參考價值的文章主要介紹了docker-compose 如何安排容器啟動的順序。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

概述

在使用docker-compose進(jìn)行容器部署的時候,時常是需要對容器的啟動順序進(jìn)行編排,比如在應(yīng)用容器啟動前,需要先啟動數(shù)據(jù)庫的容器。通過對官方文檔的閱讀,發(fā)現(xiàn)在docker-compose中,可以使用depends_on配合健康檢查healthcheck來實現(xiàn)。

參考鏈接:

https://docs.docker.com/compose/compose-file/#depends_on

測試

假設(shè)有個應(yīng)用需要等待ElasticSearch啟動完成后,才開始啟動,那么我們可以使用以下方式來編寫docker-compose文件。

version: '3.3'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.6.2
    environment:
      discovery.type: single-node
      TZ: Asia/Shanghai
    healthcheck:
      test: ["CMD","curl","-f","http://localhost:9200"]
      interval: 5s
      timeout: 10s
      retries: 3
      start_period: 30s
  app:
    image: nginx
    depends_on:
      elasticsearch:
        condition: service_healthy

注意,這個需要更新到docker-compose版本為v2.5.0以上才支持。

在服務(wù)elasticsearch沒有進(jìn)入healthy狀態(tài)時,app服務(wù)是不會啟動的

# docker-compose -f test.yaml ps
NAME                  COMMAND                  SERVICE             STATUS               PORTS
tmp-app-1             "/docker-entrypoint.…"   app                 created              
tmp-elasticsearch-1   "/usr/local/bin/dock…"   elasticsearch       running (starting)   9300/tcp

在服務(wù)elasticsearch啟動完成時,并且健康狀態(tài)為healthy,app服務(wù)才啟動

# docker-compose -f test.yaml ps
NAME                  COMMAND                  SERVICE             STATUS              PORTS
tmp-app-1             "/docker-entrypoint.…"   app                 running             80/tcp
tmp-elasticsearch-1   "/usr/local/bin/dock…"   elasticsearch       running (healthy)   9300/tcp

總結(jié)

在使用百度的搜索這個問題的時候,發(fā)現(xiàn)大家也遇到類似的問題,但絕大多數(shù)采用的是wait-for的解決方法,這個可能應(yīng)該是舊版本不支持healthcheck檢查,但現(xiàn)在官方已經(jīng)支持,這種解決方式就應(yīng)該退出了,所以在遇到問題的過程中,還是閱讀最新的官方文檔才比較靠譜。文章來源地址http://www.zghlxwxcb.cn/news/detail-524038.html

到了這里,關(guān)于docker-compose 如何安排容器啟動的順序的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【QA】docker-compose-部署django-如何設(shè)置自動啟動

    使用docker-compose部署django項目,通常做法是: 構(gòu)建docker鏡像 運行容器 進(jìn)入容器里面啟動django項目 但是這樣不夠自動化。 嘗試通過配置腳本的方式,讓容器啟動的時候就啟動django項目,但這樣往往使得容器一直處于重啟狀態(tài),容器無法運行,本文主要解決這個問題 docker-com

    2024年01月23日
    瀏覽(29)
  • Docker容器:Docker-Compose

    Docker容器:Docker-Compose

    一個Dockerfile模板文件可以定義一個單獨的應(yīng)用容器,如果需要定義多個容器就需要服務(wù)編排。服務(wù)編排有很多種技術(shù)方案,今天是介紹 Docker 官方產(chǎn)品 Docker Compose 。 docker swarm(管理跨節(jié)點)。 Dockerfile可以讓用戶管理一個單獨的應(yīng)用容器;而Compose則允許用戶在一個模板(Y

    2024年02月11日
    瀏覽(30)
  • docker筆記9:Docker-compose容器編排

    docker筆記9:Docker-compose容器編排

    目錄 1.是什么? 2.?能干嘛? 3.去哪下? 4.安裝步驟? ?編輯 5.卸載步驟? ?6.Compose核心概念 ?6.1概念 6.2 Compose常用命令? ?7.Compose編排微服務(wù) 7.1改造升級微服務(wù)工程docker_boot 7.2不用Compose 7.2.1 單獨的mysql容器實例 7.3 swagger測試 7.4上面成功了,有哪些問題? 7.5 使用Compose ?7.5.1

    2024年02月09日
    瀏覽(27)
  • 【docker-compose】解決容器時區(qū)問題

    ????????容器內(nèi)時間比服務(wù)器慢8小時 ? ? ? ? 容器時區(qū)默認(rèn) UTC 0 ??????? ?docker-compose.yaml 中設(shè)置時區(qū)

    2024年02月12日
    瀏覽(24)
  • docker-compose 構(gòu)建 Kafka 容器

    在終端中創(chuàng)建一個名為 kafka 的目錄,并進(jìn)入該目錄: 創(chuàng)建一個名為 docker-compose-kafka.yml 的文件并打開它。將以下代碼復(fù)制到文件中: 這份配置使用了 Docker Compose,定義了兩個服務(wù) Zookeeper 和 Kafka。 Zookeeper 服務(wù)定義: 使用 wurstmeister/zookeeper 鏡像; 將容器的 2181 端口映射到宿

    2024年02月10日
    瀏覽(23)
  • docker-compose容器編排使用詳解+示例

    docker-compose容器編排使用詳解+示例

    Docker-Compose是Docker官方的開源項目,負(fù)責(zé)實現(xiàn)對Docker容器集群的快速編排。 Compose 是 Docker 公司推出的一個工具軟件,可以管理多個 Docker 容器組成一個應(yīng)用。你需要定義一個 YAML 格式的配置文件docker-compose.yml,寫好多個容器之間的調(diào)用關(guān)系。然后,只要一個命令,就能同時啟

    2023年04月22日
    瀏覽(33)
  • Docker容器與虛擬化技術(shù):Docker-Compose

    Docker容器與虛擬化技術(shù):Docker-Compose

    目錄 一、理論 1.Docker-Compose 二、實驗 1.?Docker Compose 安裝部署 2.Docker?Compose撰寫nginx 鏡像 3.Docker?Compose撰寫tomcat 鏡像 三、問題 1.Docker Compose 和 Dockerfile 的區(qū)別 四、總結(jié) (1)使用場景 使用一個Dockerfile模板文件可以定義一個單獨的應(yīng)用容器,如果需要定義多個容器就需要服務(wù)

    2024年02月12日
    瀏覽(22)
  • 【云原生】Docker-compose單機(jī)容器集群編排

    【云原生】Docker-compose單機(jī)容器集群編排

    Compose是單機(jī)編排容器集群或者是分布式服務(wù)容器的應(yīng)用工具。通過Compose,可以使用YAML文件來配置應(yīng)用程序的服務(wù)。然后,使用一個命令,就可以從配置中創(chuàng)建并啟動所有服務(wù)。 Docker-Compose是一個容器編排工具。通過一個.yml或.yaml文件,將所有的容器的部署方法、文件映射、

    2024年02月09日
    瀏覽(30)
  • docker-compose啟動minio

    docker-compose啟動minio

    一、創(chuàng)建文件夾 二、docker-compose.yml 注意:新版 :RELEASE.2023-03-24T21-41-23Z 數(shù)據(jù)格式是這種 老版: RELEASE.2022-05-26T05-48-41Z 三、開啟防火墻 四、驗證 172.50.2.40:9001

    2024年02月16日
    瀏覽(27)
  • 【RabbitMQ】【Docker】基于docker-compose構(gòu)建rabbitmq容器

    【RabbitMQ】【Docker】基于docker-compose構(gòu)建rabbitmq容器

    本文通過docker-compose構(gòu)建一個單體的rabbtimq容器。 首先需要有docker和docker-compose環(huán)境,docker安裝[1],docker-compose安裝[2]。 通過下列命令確定docker、docker-compose是否安裝成功。 docker-compose在/usr/local/bin里,我們就在/usr/local下構(gòu)建一個docker-compose目錄,里面再構(gòu)建各級不同容器的目

    2024年04月25日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包