首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在dockerpy中通过管道从docker运行stdout

如何在dockerpy中通过管道从docker运行stdout
EN

Stack Overflow用户
提问于 2020-03-06 07:03:15
回答 2查看 956关注 0票数 5

当我正常运行docker镜像时,如下所示

代码语言:javascript
运行
复制
docker run -v ..... {DOCKER_IMAGE}

我像预期的那样在终端中获得了我的日志。但是像这样运行:

代码语言:javascript
运行
复制
docker_client = docker.from_env()
container  = docker_client.containers.run(DOCKER_IMAGE, None, environment=[f'foo={self.profile}'], 
volumes={...,}, auto_remove=True, stderr=True, stdout=True)
# No logs show up

似乎抑制了日志。如何在日志运行时获得日志输出?我可以流式传输docker容器运行吗?

我能做这些

代码语言:javascript
运行
复制
docker_client.containers.run(.... detach=True)
for line in container.logs(stream=True): 
    print(line)

但这会丢失它是否是debug/info/warning/error

EN

回答 2

Stack Overflow用户

发布于 2020-03-19 22:27:27

如何设置stream=True

我还没有测试过,但在docs中它说:

stream (布尔值)-如果为true且detach为false,则返回日志生成器而不是字符串。如果detach为true,则忽略此参数。默认值:False

请试一试,告诉我它是怎么回事。

更新:在谷歌上搜索“流”后,我发现了一个类似的问题,可能会对你的here有所帮助

票数 0
EN

Stack Overflow用户

发布于 2020-03-06 11:25:50

代码语言:javascript
运行
复制
docker logs -f <CONTAINER>

查看此页面:https://success.docker.com/article/view-realtime-container-logging

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60555241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档