docker-py构建失败时如何获取日志?

时间:2019-01-15 16:59:22

标签: python docker dockerpy

如果我使用高级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?

1 个答案:

答案 0 :(得分: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