python - 使用 python 子进程调用 docker-compose 以 FileNotFoundError 'docker-compose' 结尾
问题描述
我对 docker 很陌生,所以我的 python 脚本遇到了一些错误状态。它应该侦听几个 docker 容器,这些容器已使用特定的 yaml 文件通过docker-compose up启动。
点火过程正在工作,但是当一个容器发生故障时,另一个容器(观察实体)应该使用docker-compose start deadmodule来恢复它
我的设置:
- 操作系统:Windows 10
- 码头工人:2.0.0.0-win78(28905)
- 码头工人引擎:18.09.0
- 撰写:1.23.1
- 蟒蛇 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'
解决方案
当你不使用shell=True
时,文件结尾不会自动添加,所以你需要调用的是docker-compose.exe
,而不是docker-compose
.
推荐阅读
- vue.js - 如何避免展开 v-list-group subMenu
- apache-kafka - 更改 Kafka 中的订阅主题
- typescript - 使用 TypeScript 和 Vue3 集成 bootstrapVue
- php - 在生产服务器上部署 Lighthouse 无效
- c# - 如何将项目的输出复制到启动项目的子目录中?
- reactjs - “保存调色板”按钮给出了“保存调色板”的 TypeError 不是函数
- filter - VTK 中的速度流量计算
- javascript - js更新关键帧属性消失
- python - 有没有办法查看你的 py 或 exe 文件在当前时刻运行了多少次?Python
- c - 为什么这个函数引用调用不起作用