В соответствии с документацией disabled_on , Docker compose не может определить готовность контейнера, поэтому, как только зависимости начались, последний контейнер запустится, игнорируя, если другой те готовы или нет.
Обходной путь, который вы могли бы сделать, это сделать скрипт оболочки-обертки, который контролирует, что зависимости ( утенок и обучение ) закончили выполнять свои вещи перед запуском раса . Это означает, что если rasa нужны какие-то файлы из двух других контейнеров, вы можете создать скрипт, чтобы проверить, существуют ли эти файлы с al oop. Если это так, выйдите из l oop и выполните команду, которая у вас есть. В противном случае поспите несколько секунд и повторите попытку.
Тогда команда rasa выполнит только этот скрипт, например:
command: ["./wait-for-dependencies.sh", "duckling", "training"]
Вы можете посмотреть здесь: https://docs.docker.com/compose/startup-order/, они сделали несколько примеров для подобного варианта использования.