Вызов docker-compose с помощью подпроцесса python заканчивается FileNotFoundError 'docker-compose' - PullRequest
0 голосов
/ 23 ноября 2018

Я довольно новичок в докере, поэтому я столкнулся с некоторым состоянием ошибки с моим скриптом PythonОн должен прослушивать пару док-контейнеров, которые были запущены с docker-compose up с использованием определенного файла yaml.

Процесс зажигания работает, но когда один контейнер выходит из строя, другой (наблюдатель) должен восстановить его, скажем docker-compose start deadmodule

Моя настройка:

  • ОС: Windows 10
  • Докер:2.0.0.0-win78 (28905)
  • Docker Engine: 18.09.0
  • Состав: 1.23.1
  • Python 3,6

Япробуя это:

subprocess.call('docker-compose',
                'start',
                'deadmodule')

И я пробовал это также с Popen(['docker-compose', 'start', 'deadmodule'], stdout=PIPE, stderr=PIPE)

Однако это заканчивается этим:

FileNotFoundError: [Errno 2] No such file or directory: 'docker-compose': 'docker-compose'

1 Ответ

0 голосов
/ 23 ноября 2018

Когда вы не используете shell=True, окончание файла не будет добавлено автоматически, поэтому вам нужно вызвать docker-compose.exe, а не docker-compose.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...