这篇文章将为大家详细讲解有关docker中怎么设置容器依赖关系,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联是一家专注于网站建设、成都网站建设与策划设计,图们网站建设哪家好?创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:图们等地区。图们做网站价格咨询:13518219792docker设置容器依赖关系怎么做?一个稍微复杂点的项目,肯定不是一个单独的程序可以解决的,必定是许多程序组合起来的一个整体,它们之间存在一定的依赖关系。比如: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
-wait 参数可以添加多个,代表依赖多个服务
-timeout 1800s
-timeout 后面跟持续等待的秒数,默认是10秒
最后一个命令是各依赖服务准备好之后要执行的命令,也就是当前应用启动的命令
支持的协议有:file, tcp, tcp4, tcp6, http, https and unix
关于docker中怎么设置容器依赖关系就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。