При использовании BuildKit с Docker, как я вижу вывод команд RUN?

При создании образов Docker с DOCKER_BUILDKIT=1, есть очень крутой индикатор прогресса, но нет вывода команды. Как посмотреть вывод команды для отладки моей сборки?

3 ответа

Решение

Ты пытался --progress=plain?

Пример:

FROM alpine
RUN ps aux

Относительный выход DOCKER_BUILDKIT=1 docker build --progress=plain -t test_buildkit .:

#5 [2/2] RUN ps aux
#5       digest: sha256:e2e4ae1e7db9bc398cbcb5b0e93b137795913d2b626babb0f148a60017379d86
#5         name: "[2/2] RUN ps aux"
#5      started: 2019-04-19 09:02:58.922035874 +0000 UTC
#5 0.693 PID   USER     TIME  COMMAND
#5 0.693     1 root      0:00 ps aux
#5    completed: 2019-04-19 09:02:59.721490002 +0000 UTC
#5     duration: 799.454128ms

А также использование --progress=plain в командной строке вы также можете установить переменную среды:

BUILDKIT_PROGRESS=plain

Я считаю это особенно полезным для сборок CI, где мне всегда нужен полный журнал.

С PR #2954 вы можете указать:

      export NO_COLOR=1

В последних версиях также были внесены изменения , чтобы сделать значения по умолчанию более удобочитаемыми.

Вы можете выбрать собственную цветовую схему с помощью переменной BUILDKIT_COLORS , например:

      export BUILDKIT_COLORS=run=123,20,245:error=yellow:cancel=blue:warning=white

(Обратите внимание: если описанное выше не работает для вас, то этот PR, вероятно, еще не попал в вашу настольную установку.)

Другие варианты решения этой проблемы включают переключение на простой вывод с помощью--progress=plainвариант илиexport BUILDKIT_PROGRESS=plain. Или вы можете отключить buildkit с помощьюexport DOCKER_BUILDKIT=0.

Другие вопросы по тегам