在docker-compose.yml文件中,我有3个服务。第一个服务用于启动MySQL数据库。第二个服务用于运行多个数据库迁移,以在第一个服务中创建的MySQL数据库中创建表和种子数据。第三个服务用于运行一些需要MySQL数据库的node.js单元测试。问题是我仅在数据库迁移完成后才需要启动单元测试。但是我没有办法知道。
我曾尝试在单元测试服务中使用depends_on配置选项使其依赖于数据库迁移服务,但是根据Docker文档,Depends_on仅保证在数据库迁移服务启动后才启动单元测试服务。
答案 0 :(得分:0)
depends_on 选项仅允许您控制启动顺序。
为了检查准备情况,您必须以编程方式进行检查。您可以编写一个包装脚本来检查迁移是否完成,也可以使用现有工具,例如wait-for-it