您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關docker中怎么設置容器依賴關系,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
docker設置容器依賴關系怎么做?一個稍微復雜點的項目,肯定不是一個單獨的程序可以解決的,必定是許多程序組合起來的一個整體,它們之間存在一定的依賴關系。比如:nginx依賴web應用服務器tomcat,tomcat中的應用依賴mysql數據庫和zookeeper配置,tomcat中的應用可能互相依賴等。
如果人工去啟動多個應用,肯定是等被依賴的服務準備好之后,再去啟動下一個應用/服務;但是想要服務器自動啟動,就要靠腳本來檢測被依賴的服務是否準備好,然后按順序啟動之后的應用/服務。
docker 容器部署方式(將各個應用部署到單獨的容器中)
docker容器通過服務編排(docker-compose)的方式啟動時,可以通過==depends_on==來配置被依賴容器,待被依賴的容器啟動之后,才啟動當前的容器。
但隱含的問題是:容器啟動之后,容器中的應用不一定可以準備好,這中間會有時間間隔。為解決這個問題,我們必需判斷具體的應用是否啟動好了。
通過dockerize 工具來判斷
在解決服務依賴問題上使用dockerize:
在docker-compose.yaml各個服務的command中的配置如下:
command: ["dockerize", "-wait", "tcp://zookeeper:2181", "-wait", "tcp://mysql:3306", "-wait", "http://apphost:8080", "-timeout", "1800s", "/usr/bin/supervisord"]
選項說明:
-wait <protocol://host:port>
-wait 參數可以添加多個,代表依賴多個服務
-timeout 1800s
-timeout 后面跟持續等待的秒數,默認是10秒
最后一個命令是各依賴服務準備好之后要執行的命令,也就是當前應用啟動的命令
支持的協議有:file, tcp, tcp4, tcp6, http, https and unix
關于docker中怎么設置容器依賴關系就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。