【问题标题】:How to get logs when build fails in docker-py?在 docker-py 中构建失败时如何获取日志?
【发布时间】:2019-01-15 16:59:21
【问题描述】:

如果我使用高级 docker-py sdk 构建映像,则会在失败时收到 BuildError。例如

try:
    client.images.build(...)
except:
    print("Hey something wrong with image build!")

我知道我可以使用低级客户端 API 直接挂钩和流式传输日志,请参阅 How can I detect when docker-py client.build() fails。

有没有办法从映像构建脚本中获得一些有用的调试输出,而无需进入较低级别的 api?

【问题讨论】:

    标签: python docker dockerpy


    【解决方案1】:

    从 Docker 3.x 开始,BuildError 包含一个新的 build_log 变量,它是输出的生成器:

    try:
        return client.images.build(...)
    except BuildError as e:
        print("Hey something went wrong with image build!")
        for line in e.build_log:
            if 'stream' in line:
                logger.error(line['stream'].strip())
        raise
    

    【讨论】:

      猜你喜欢
      • 2021-04-02
      • 2016-02-07
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      • 2021-11-07
      • 2020-10-30
      • 1970-01-01
      相关资源
      最近更新 更多