我已经编写了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" ]