我正在尝试使用 docker-py 执行一些长进程 我的问题是我无法看到我正在做的事情的输出...
如何将 docker exec 的输出直接流式传输到 stdout ?还是更适合记录?
我看到有一个“stream”参数,但我不明白如何使用返回的生成器...
exec_c=self.docker.exec_create(myContainer,e["cmd"])
output=self.docker.exec_start(exec_c)
self.logger.info(output)
http://docker-py.readthedocs.org/en/latest/api/?highlight=exec#exec_create
请您参考如下方法:
如何获取 stdout 输出的示例。默认的标准输出为 true o 完成 stdout=true
这是 python 代码:
from docker import Client
cli = Client(base_url='unix://var/run/docker.sock')
id_container = '14484253f0a8'
cli.start(id_container)
cmds='ls' #comand to execute
exe = cli.exec_create(container=id_container, cmd=cmds)
exe_start= cli.exec_start(exec_id=exe, stream=True)
for val in exe_start:
print (val)
希望对你有帮助。
