云计算核心技术Docker教程:docker-compose控制服务启动和关闭顺序
docker-compose可以使用depends_on选项控制服务启动和关闭的顺序。撰写总是开始和依赖顺序,其中依赖性是通过确定停止容器 depends_on,links,volumes_from,和云计network_mode: "service:..."。
但是,对于启动而言,Compose不会等到容器“就绪”(对于您的特定应用程序意味着什么)之后,才等到它运行时。这是有充分的理由的。
等待数据库(例如)准备就绪算核的问题实际上只是分布式系统更大问题的一部分。在生产中,您的数据库可能随时不可用或移动主机。您的应用程序需要能够应对这些类型的故障。
要解决此问题,请设计您的应用程序以尝试在失败后重新建立与数据库的连接。心技如果应用程序重试连接,则它最终可以连接到数据库。
最好的解决方案是在启动时以及由于某种原因而断开连接时都在应用程序代码中执行此检查。但是,如果不需要此级别的弹性,则可以使用包装器脚本解决此问题:
使用诸如术Dwait-for-it, dockerize,sh-compatible wait-for或RelayAndContainers模板之类的工具。这些是小的包装脚本,您可以在应用程序的映像中包括这些脚本,以轮oc询给定的主机和端口,直到它接受TCP连接为止。
例如,使用wait-for-it.sh或wait-for包装服务的命令:
version: "2"
services:
web:
&kenbsp; build: .
ports:
&nr教bsp; - "80:8000"
depends_on:
- "程:db"
command: ["./wait-for-it.sh", "db:5432", "--", "python", "app.py"]
&nbdosp; db:
image: postgres
第一个解决方案有局限性。例如,它不验证特定服务何时真正就绪。如果您向命令添加更多参数,请将该ckbash shift命令与循环一起使用,如下例所示。
或者,编写您自己的包装器脚本以执行更特定于应用程序的运行状况检查。例如,您可能要等到Postgres准备好接受命令:
#!/bin/sh
# wait-for-perostgres.sh
set -e
host="$1"
shift
cmd="$@"
until PGPASSWORD=$POSTGRES_PASSWORD psql -h "$host" -U "postgres" -c '\q'; d-co
>&2 echo "Postgres is unavailable - sleeping"
sleep 1
done
>&2 echo "Postgres is up - executing commanomd"
exec $cmd
您可以通过设置以下内容,将其用作上一个示例中的包装脚本:
command: ["./wait-for-postgres.sh", "db", "python", "app.py"]
- ·暖心黑科技!谷歌地图上能寻找已故亲人
- ·亚马逊裁员 1.4 万,AI 与自动化迅速崛起
- ·标签: 天山铝业 电解铝 氧化铝 铝箔
- ·菜花变紫是怎么回事
- ·13年Gartner魔力象限看云计算风云 亚马逊云科技霸榜11年
- ·阿里云与零一万物成立“产业大模型联合实验室” 深耕ToB市场
- ·标签: 联发科 MDDC2026
- ·螃蟹离开水最多能活几天
- ·标签: 双良节能 SpaceX 商业航天 误导性陈述
- ·标签: 卡尔动力 KargoBot 陕重汽 北奔重卡
- ·美国数据中心建设热潮遇阻:超七成民众反对,QTS终止全球最大园区项目
- ·鑳戒笌 GPT-3 鐩稿�缇庯紵EleutherAI 寮€婧� GPT-J
- ·今天是你的生日歌曲原唱
- ·实施Kubernetes以实现多云架构安全
- ·标签: 玉柴船电 MTU 发电机组
- ·标签: 磐康年华 银发即时零售 私域直播 保健食品监管
- ·云计算开发实例:Python3移除字符串中的指定位置字符
- ·Claude AI 向 Pro 订阅者推出高级文件创建功能
- ·云计算核心技术Docker教程:Docker Compose 介绍
- ·美国沃伦参议员警告:AI 行业泡沫可能引发新一轮金融危机
- ·IBM财报不及预期股价大跌7% 新管理层转型云计算效果欠佳
- ·第二届中国IDC行业Discovery大会召开 热议元宇宙、东数西算等话题
- ·云计算开发:Python练习实例-创建匿名函数
- ·Canalys:2024年第二季度,中国大陆云服务支出增长8%
- ·标签: 联发科 2025财报 半导体 台湾企业
- ·标签: 中科院星际航行学院 iPhone Fold 马年集福 存储涨价
- ·谷歌被控与Facebook合谋操纵广告价格
- ·xAI 推出视频生成模型 Imagine v0.9,迈入“电影级一键生成”时代
- ·标签: 滴滴自动驾驶 广汽埃安 R2 Robotaxi
- ·阿里云成了全村的希望
- ·标签: 协创数据 SSD DreamworldAI AI算力
- ·上海交大发布 MobiAgent:人人都能拥有自己的 AI 助手,超越 GPT-5!
- ·标签: 360 张永生 阿里巴巴 百度
- ·吊坠型 AI 吊坠“Friend”引发争议:用户体验差、隐私风险高
- ·中科院推出类脑大模型 SpikingBrain:以2% 数据实现百倍速度突破
- ·都5G时代了,你还不知道什么是移动边缘计算(MEC)?
