Как получить логи при сбое сборки в docker-py? - PullRequest
0 голосов
/ 15 января 2019

Если я создаю образ с помощью высокоуровневого docker-py sdk, я получаю ошибку BuildError при сбое. Например,

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

Я знаю, что могу использовать низкоуровневый клиентский API для прямого подключения и потоковой передачи журналов, см. Как я могу определить, когда docker-py client.build () завершается ошибкой .

Есть ли способ получить полезный отладочный вывод из скрипта сборки образа, не переходя на API нижнего уровня?

1 Ответ

0 голосов
/ 15 января 2019

Начиная с 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
...