Skip to main content
 首页 » 编程设计

python之docker-py exec_start howto 将输出流式传输到标准输出

2025年05月04日28jpfss

我正在尝试使用 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 完成 std​​out=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) 

希望对你有帮助。