docker-py exec_start如何将输出流式传输到stdout

Ope*_*ove 1 python python-3.x dockerpy

我正在尝试使用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)
Run Code Online (Sandbox Code Playgroud)

http://docker-py.readthedocs.org/en/latest/api/?highlight=exec#exec_create

小智 5

如何获取标准输出的示例。默认的标准输出为true o complet 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)
Run Code Online (Sandbox Code Playgroud)

希望对您有所帮助。