docker - 如果我的第一个任务失败,我想让 docker compose 失败
问题描述
如果我的第一个任务失败并且它不应该移动到 compose 文件中提到的其他任务,我想使 docker compose 失败。
解决方案
Docker-compose 不是脚本;这是环境的定义。通过定义构成环境的每个服务,在 docker-compose 文件中描述了环境。
当然,有时需要在初始化期间使服务失败。
这可以通过例如:
- 为服务定义一个 Dockerfile,它在创建镜像时执行初始化,或者
- 定义一个
entrypoint
脚本,该脚本在基于图像启动容器时进行初始化。
关键是, docker-compose 不应该失败。服务应该失败。
如果你绝对需要启动失败,你可以通过depends_on
定义容器启动的顺序来定义服务之间的依赖关系;像这样:
version: "3.7"
services:
web:
build: .
depends_on:
- db
- redis
redis:
image: redis
db:
image: postgres
请注意,依赖服务将在父服务启动时立即启动started
......它不会等待它们处于ready
状态。
推荐阅读
- angular - 网络国际化
- python - Groupby 在 Condition 上选择行 花费两个多时间
- c# - Unity Jumpscare 如何
- javascript - 在 JavaScript 中从 Range 对象添加值
- matlab - 传递函数的频率响应与波特图之间的不匹配
- php - 使用未定义的常量 STDOUT
- sequelize.js - 如果你使用的是`Sequelize`,有没有办法在调用数据的时候进行处理呢?
- ansible - Ansible group_vars 变量
- javascript - 具有动态内容的 React-Bootstrap 表 - 行中单选按钮上的表单不起作用
- git - 如何跳过重新调整已经推送的提交?