docker设置容器依赖关系

 2023-12-22  阅读 4  评论 0

摘要:设置容器依赖关系怎么做?一个稍微复杂点的项目,肯定不是一个单独的程序可以解决的,必定是许多程序组合起来的一个整体,它们之间存在一定的依赖关系。比如:nginx依赖web应用主机tomcat,tomcat中的应用依赖mysql数据库和zookeeper配置,tomcat中的应用可能互相依赖等。 如

docker设置容器依赖关系

设置容器依赖关系怎么做?一个稍微复杂点的项目,肯定不是一个单独的程序可以解决的,必定是许多程序组合起来的一个整体,它们之间存在一定的依赖关系。比如:nginx依赖web应用主机tomcat,tomcat中的应用依赖mysql数据库和zookeeper配置,tomcat中的应用可能互相依赖等。

如果人工去启动多个应用,肯定是等被依赖的服务准备好之后,再去启动下一个应用/服务;但是想要主机自动启动,就要靠脚本来检测被依赖的服务是否准备好,然后按顺序启动之后的应用/服务。

docker 容器部署方式(将各个应用部署到单独的容器中)

通过服务编排(docker-compose)的方式启动时,可以通过==depends_on==来配置被依赖容器,待被依赖的容器启动之后,才启动当前的容器。

但隐含的问题是:容器启动之后,容器中的应用不一定可以准备好,这中间会有时间间隔。为解决这个问题,我们必需判断具体的应用是否启动好了。

通过dockerize 工具来判断

在解决服务依赖问题上使用dockerize:

在docker-compose.yaml各个服务的command中的配置如下:

command: ["dockerize", "-wait", "tcp://zookeeper:166.61", "-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技术,在集群主机上部署实现,功能强大、简单易用,拥有上万linux镜像,秒级开通,轻量级的容器云产品链接

提示:现在腾讯云新人点击注册然后实名认证后,可以点此一键领取2860元代金券,然后点此进入腾讯云活动页面参加优惠力度非常大的腾讯云3年和5年时长服务器活动,一次性买多年,免得续费贵,这样就可以获得最大的优惠折扣,省钱。

版权声明:xxxxxxxxx;

原文链接:https://lecms.nxtedu.cn/yunzhuji/107562.html

发表评论:

验证码

管理员

  • 内容1196185
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:admin@qq.com
注册登录
注册帐号
登录帐号

Copyright © 2022 LECMS Inc. 保留所有权利。 Powered by LECMS 3.0.3

页面耗时0.1382秒, 内存占用1.66 MB, 访问数据库18次

  • 我要关灯
    我要开灯
  • 客户电话
    lecms

    工作时间:8:00-18:00

    客服电话

    电子邮件

    admin@qq.com

  • 官方微信

    扫码二维码

    获取最新动态

  • 返回顶部