andriod studio 启动service失败_云计算核心技术Docker教程:docker-compose控制服务启动和关闭顺序...

【点击右上角加'关注',全国产经信息不错过】

a715d5ff74c0d1865b0ee07652101084.png

docker-compose可以使用depends_on选项控制服务启动和关闭的顺序。撰写总是开始和依赖顺序,其中依赖性是通过确定停止容器 depends_on,links,volumes_from,和network_mode: "service:..."。

但是,对于启动而言,Compose不会等到容器“就绪”(对于您的特定应用程序意味着什么)之后,才等到它运行时。这是有充分的理由的。

等待数据库(例如)准备就绪的问题实际上只是分布式系统更大问题的一部分。在生产中,您的数据库可能随时不可用或移动主机。您的应用程序需要能够应对这些类型的故障。

要解决此问题,请设计您的应用程序以尝试在失败后重新建立与数据库的连接。如果应用程序重试连接,则它最终可以连接到数据库。

最好的解决方案是在启动时以及由于某种原因而断开连接时都在应用程序代码中执行此检查。但是,如果不需要此级别的弹性,则可以使用包装器脚本解决此问题:

使用诸如wait-for-it, dockerize,sh-compatible wait-for或RelayAndContainers模板之类的工具。这些是小的包装脚本,您可以在应用程序的映像中包括这些脚本,以轮询给定的主机和端口,直到它接受TCP连接为止。

例如,使用wait-for-it.sh或wait-for包装服务的命令:

version: "2"

services:

web:

build: .

ports:

- "80:8000"

depends_on:

- "db"

command: ["./wait-for-it.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值