Как подключиться к промежуточному контейнеру докеров при сборке с помощью buildkit

Недавно я услышал о Buildkit и пытался использовать его с Docker.

я используюDOCKER_BUILDKIT=1 docker build . -t experimentalдля сборки моего Dockerfile.

Мой Dockerfile не собирается должным образом из-за отсутствия некоторых зависимых пакетов.

Что я хочу сделать, так это присоединиться к последнему рабочему промежуточному контейнеру и решить проблему, скажем, apt инструменты.

При сборке без Buildkit это было бы возможно с хеш-значениями промежуточных контейнеров из вывода терминала.

Однако вывод Buildkit не предоставляет мне таких значений. Итак, могу ли я получить к ним доступ?

Заранее спасибо.

0 ответов

Я думаю, что на данный момент это невозможно, см. Buildkit / issue#1053.

Но BuildKit по-прежнему кэширует все слои, так что вы можете использовать обходной путь.

  • Осмотр изображения до выхода из строя RUN команду, закомментируйте сбой и все последующие RUNкоманды. Повторить docker build а затем сделать docker run осмотреть изображение.

  • Осмотр изображения после сбоя RUN команда, добавить || true в конце вашего RUNкоманда для принудительного выполнения команды. Повторить docker build а затем сделать docker run осмотреть изображение.

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