这个问题之所以如此复杂,主要原因是 Docker 或 Docker Compose 没有提供支持解决这个问题。Docker-compose 文件格式的 2.1 版本中有一个名为condition的depends_on选项,可以设置为service_healthy。而且,每个服务都可以有一个healthcheck命令,可以告诉 docker-compose“健康”是什么意思。这在3.0版本中不再可用,也没有提供...
在docker-compose.yml文件里面,去定义的Nginx是depends_on,没有healthcheck健康检测, nginx 依赖的flask的状态是healthy的时候,才会启动,否则等待。 nginx: image: nginx:stable-alpine ports: - 8000:80 depends_on: flask: condition: service_healthy volumes: - ./nginx/nginx.conf:/etc/nginx/conf.d/default...
docker-compose 2.1 提供了一个很好的特性来指定 condition 和depends_on 。当前的 docker-compose 文档指出: 版本3 不再支持depends_on 的条件形式。 不幸的是, 文档 没有解释为什么 condition 表格被删除,并且缺乏关于如何使用 V3 向上实现该行为的任何具体建议。 原文由 m o 发布,翻译遵循 CC BY-SA 4.0 许可...
在composition中不再指定容器依赖项。它们只在启动时有效,并且在依赖容器在运行时重新启动时不起作用。
如果你的逻辑看起来更复杂,那么最好有一个脚本来执行所有的验证并返回true或false。在图像本身中添加...
depends_on 只能保证容器的启动和销毁顺序,不能保证依赖的容器是否ready 要确保应用服务在数据库初始化完成后再启动,需要配合condition和healthcheck使用。 condition有三种状态: service_started容器已启动 service_healthy容器处于健康状态 service_completed_successfully容器执行完成且成功退出(退出状态码为0) ...
condition: none, on-failure 或 any (默认: any) 之一。 delay:重新启动尝试之间等待的时间(默认值:5s)。 max_attempts:在放弃之前尝试重新启动容器的次数(默认值:永不放弃)。如果在配置的窗口(window)内重新启动未成功,则此尝试不计入配置max_attempts值。例如,如果 max_attempts 设置为“2”,并且第一次尝试...
condition # 定义容器重启策略(接受三个参数) none # 不尝试重启 on-failure # 只有当容器内部应用程序出现问题才会重启 any # 无论如何都会尝试重启(默认) delay # 尝试重启的间隔时间(默认为 0s) max_attempts # 尝试重启次数(默认一直尝试重启)
Anybody know if there is a recommended replacement that should be used? Thank you any depends_on "condition: service_healthy" check in v.3 so far? 👍60🎉9 ️2🚀 https://github.com/compose-spec/compose-spec/blob/master/spec.md#long-syntax-1...
condition: on-failure # 定义容器重启策略(接受三个参数) # none: # 不尝试重启 # on-failure: # 只有当容器内部应用程序出现问题才会重启 # any : # 无论如何都会尝试重启(默认) delay: 10s # 尝试重启的间隔时间(默认为 0s) max_attempts:6# 尝试重启次数(默认一直尝试重启) ...