- 資訊首頁(yè) > 互聯(lián)網(wǎng) > 主機資訊 >
- docker設置容器依賴(lài)關(guān)系
docker設置容器依賴(lài)關(guān)系怎么做?一個(gè)稍微復雜點(diǎn)的項目,肯定不是一個(gè)單獨的程序可以解決的,必定是許多程序組合起來(lái)的一個(gè)整體,它們之間存在一定的依賴(lài)關(guān)系。比如:nginx依賴(lài)web應用服務(wù)器tomcat,tomcat中的應用依賴(lài)mysql數據庫和zookeeper配置,tomcat中的應用可能互相依賴(lài)等。
如果人工去啟動(dòng)多個(gè)應用,肯定是等被依賴(lài)的服務(wù)準備好之后,再去啟動(dòng)下一個(gè)應用/服務(wù);但是想要服務(wù)器自動(dòng)啟動(dòng),就要靠腳本來(lái)檢測被依賴(lài)的服務(wù)是否準備好,然后按順序啟動(dòng)之后的應用/服務(wù)。
docker 容器部署方式(將各個(gè)應用部署到單獨的容器中)
docker容器通過(guò)服務(wù)編排(docker-compose)的方式啟動(dòng)時(shí),可以通過(guò)==depends_on==來(lái)配置被依賴(lài)容器,待被依賴(lài)的容器啟動(dòng)之后,才啟動(dòng)當前的容器。
但隱含的問(wèn)題是:容器啟動(dòng)之后,容器中的應用不一定可以準備好,這中間會(huì )有時(shí)間間隔。為解決這個(gè)問(wèn)題,我們必需判斷具體的應用是否啟動(dòng)好了。
通過(guò)dockerize 工具來(lái)判斷
在解決服務(wù)依賴(lài)問(wèn)題上使用dockerize:
在docker-compose.yaml各個(gè)服務(wù)的command中的配置如下:
command: ["dockerize", "-wait", "tcphttp://wap.friendlycc.com.cn/host/ "-wait", "tcphttp://wap.friendlycc.com.cn/host/ "-wait", "http://wap.friendlycc.com.cn/host/ "-timeout", "1800s", "/usr/bin/supervisord"]
選項說(shuō)明:
-wait <protocolhttp://wap.friendlycc.com.cn/host/
-wait 參數可以添加多個(gè),代表依賴(lài)多個(gè)服務(wù)
-timeout 1800s
-timeout 后面跟持續等待的秒數,默認是10秒
最后一個(gè)命令是各依賴(lài)服務(wù)準備好之后要執行的命令,也就是當前應用啟動(dòng)的命令
支持的協(xié)議有:file, tcp, tcp4, tcp6, http, https and unix
特網(wǎng)科技的容器云是通過(guò)docker技術(shù),在集群服務(wù)器上部署容器服務(wù)實(shí)現,功能強大、簡(jiǎn)單易用,擁有上萬(wàn)linux鏡像,秒級開(kāi)通,輕量級的容器云產(chǎn)品鏈接 http://wap.friendlycc.com.cn/host/
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站