Отладка сборки докер-имиджа
Сборка докер-имиджей не всегда идет хорошо. Бывает, что билд заканчивается ошибкой, а порой, что зачастую еще хуже, билд прошел успешно, но имидж получается не такой как планировалось и в чем проблема не понятно. В такой ситуации может очень выручить понимание того как происходит сборка докер-имиджа и как можно проверить состояние докер-имиджа на промежуточных этапах.
Если тексту с картинками вы предпочитаете видео, то вот мой обзор отладки докер-имижа на YouTube
Как известно, сборка докер-имиджа разбита на этапы и каждый такой этап выполняется в отдельном докер-контейнере, который потом формирует промежуточный докер-имидж. Самый первый контейнер формируется из команды FROM в Dockerfile. Вот скриншот сборки для моего довольно простого докер-файла и в нем команда docker image build создала семь промежуточных докер-имиджей, а восьмой - стал финальным.
Теперь переходим к самому интересному. Если сборка докер-имиджа идет не так как вы ожидали или вы не понимаете, почему докер-имидж получился таким каким получился, то можно запустить контейнер на основе промежуточного имиджа, запустить на нем терминал и проверить его содержимое и состояние. Сделать это можно вот такой командой
docker run --rm -it 09db5a1c9e94 sh
здесь
- 09db5a1c9e94 - это ID докер-имиджа который я хочу проверить.
- флаг --rm создаст временный докер-контейнер, который будет автоматически удален при выходе из него.
- флаг -it переведет контейнер в интерактивный режим.
Комментарии