带有python脚本的Docker文件可获取进程结束输出

时间:2018-10-19 22:02:51

标签: python docker subprocess

我已经编写了docker文件来调用python脚本,该脚本将执行该过程并复制结果。在运行python脚本时,它可以按预期工作,但是在使用docker调用python脚本时,它不会等待子进程完成,即在生成文件之前先将其复制。  Python脚本

process = subprocess.Popen('Workflow.exe',shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
try:
  result, errors = process.communicate(timeout=240)
result = list(filter(None, result.decode('utf-8').split('\r')))
if not result:
     copy('.\\output', os.path.join(path, 'output1', 'content'))
  else:
     print('Result: {}'.format(result))
except TimeoutExpired:
  process.kill()
  print('Killed')

Docker文件

FROM python:3-windowsservercore

WORKDIR c:\\Temp

ADD test.py /

CMD [ "python", "./test.py" ]

0 个答案:

没有答案