Как подключиться к промежуточному контейнеру докеров при сборке с помощью 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
осмотреть изображение.