Запуск мультиконтейнерного приложения в зависимости от других контейнеров - PullRequest
0 голосов
/ 08 октября 2019

Я довольно новичок в докере.

Моя проблема в том, что у меня есть мультиконтейнерное приложение (zookeeper, kafka, производитель, потребитель), в котором я хочу запускать контейнеры производителя и потребителя только послеконтейнеры zookeeper и kafka запущены и работают. Как отредактировать файл docker-compose и добиться этого? Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 08 октября 2019

Инструкция depends_on позволяет вам управлять только порядком запуска .
Однако не ждет, пока ваша служба будет запущена и работает , прежде чем запускать следующую.

Если вы хотите запустить службу после того, как ваша зависимость выросла, вам придется взглянуть на такие инструменты, как wait-for-it или dockerize .

Более подробную информацию можно найти в официальной документации Docker 1016 *

0 голосов
/ 08 октября 2019

Проверьте директиву disabled_on в документации docker-compose.

__ из документации __

depen_on Экспресс-зависимость между сервисами, сервисные зависимости вызываютследующие действия:

docker-compose up запускает службы в порядке зависимости. В следующем примере db и redis запускаются перед web.

docker-compose up SERVICE автоматически включает зависимости SERVICE. В следующем примере docker-compose up web также создает и запускает db и redis.

docker-compose stop останавливает службы в порядке зависимости. В следующем примере web останавливается до db и redis.

Простой пример:

version: "3.7"
services:
  web:
    build: .
    depends_on:
      - db
      - redis
  redis:
    image: redis
  db:
    image: postgres
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...