使用python子进程调用docker-compose以FileNotFoundError'docker-compose'结尾

时间:2018-11-23 10:25:25

标签: python docker docker-compose subprocess

我对Docker来说还很陌生,所以我的python脚本遇到了一些错误状态。它应该侦听几个使用特定yaml文件以 docker-compose up 开始的docker容器。

点火过程正在运行,但是当一个容器掉落时,另一个容器(观察实体)应使用 docker-compose start deadmodule

恢复它

我的设置:

  • 操作系统:Windows 10
  • Docker:2.0.0.0-win78(28905)
  • Docker引擎: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 :(得分:1)

当您不使用shell=True时,文件结尾将不会自动添加,因此您需要调用的是docker-compose.exe,而不是docker-compose