gpt4 book ai didi

Docker Compose Wait til依赖项容器在启动前已完全启动

转载 作者:行者123 更新时间:2023-12-02 17:20:01 33 4
gpt4 key购买 nike

我正在使用docker-compose使用docker服务,并且我有一个依赖于花药的服务。

我使用了depends_on键,但是具有依赖项的服务在依赖服务完全启动之前启动。

version: '3'

services:
KeyManager:
image: cjrutherford/keymanager
deploy:
replicas: 1
ports:
- '3220:3220'
networks:
- privnet
YellowDiamond:
image: cjrutherford/server
depends_on:
- KeyManager
deploy:
replicas: 1
ports:
- '3000:3000'
networks:
- privnet
- web
networks:
privnet:
internal: true
web:

这两个都是节点应用程序,并且要求 key 管理器在服务器启动之前运行以接受请求。我可以添加超时时间吗?或在应用程序中发送触发器?从经理那里获取 key 还为时过早。

最佳答案

我经常发现使用wait-for-it bash脚本比对docker-compose进行内置运行状况检查要有效得多。

这将针对给定的端口运行TCP运行状况检查,并等到此操作完成后再开始运行进程。

样例代码:

version: "2"
services:
web:
build: .
ports:
- "80:8000"
depends_on:
- "db"
command: ["./wait-for-it.sh", "db:5432", "--", "python", "app.py"]
db:
image: postgres

这是一些文档:
  • https://docs.docker.com/compose/startup-order/
  • https://github.com/vishnubob/wait-for-it
  • 关于Docker Compose Wait til依赖项容器在启动前已完全启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55502234/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com