Как установить порядок запуска для разных служб, определенных в файле yaml? - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть файл local.yml, в котором я определил 3 службы: service3 зависит от service2, service2 зависит от service1. Я хочу установить стартовый порядок между ними: service1 начинает сначала, затем service2, затем service3. Что для меня очень важно, это то, что service3 запускается последним.

Я пытался добавить следующий фрагмент кода внутри service3:

services:
  service3:
    healthcheck:
      test: curl http://localhost:8080/someUrl || exit 1
      interval: 10s
    build:
      context: ./myDir
      dockerfile: ./dockerfile3
    depends_on:
      - service2

  service2:
    build:
      context: .
      dockerfile: /dockerfile2
    depends_on:
      - service1   

  service1:
    image: service1_image

Однако http://localhost:8080/someUrl доступен до того, как serivce2 завершит свой запуск. То, что я сейчас вижу в журналах (в порядке старта), выглядит следующим образом:

service1      |.......
service1      |.......
service2      |.......
service2      |.......
service3      |....... //starts after the url is available
service3      |....... //prints that service3 is available
service2      |....... //and then service2 continues to build
service2      |.......
service2      |.......

Как отобразить сообщения журнала от service3 в конце? То есть как запустить сервис3 в последнем порядке?

...