Как получить логи при сбое сборки в docker-py?
Если я создаю образ с использованием высокоуровневого docker-py sdk, я получаю ошибку BuildError при ошибке. Например,
try:
client.images.build(...)
except:
print("Hey something wrong with image build!")
Я знаю, что могу использовать низкоуровневый клиентский API для прямого подключения и потоковой передачи журналов, см. Как я могу определить, когда docker-py client.build() завершается неудачно.
Есть ли способ получить полезный отладочный вывод из скрипта сборки образа, не переходя на API нижнего уровня?
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