Введение в Dockerfile в Docker
Свой образ собирают по текстовому списку шагов, а не руками в уже запущенном контейнере. Так шаблон получают один раз и одинаково повторяют на другом компьютере. Ручные правки внутри копии не попадают в общий рецепт.
Файл шагов называется
Dockerfile.
В нём каждая строка описывает
одно действие службы сборки.
Порядок строк задаёт порядок
готовки шаблона на диске.
Имя файла фиксировано:
служба ищет именно его
в папке проекта.
Каждый шаг в этом файле кладёт новую ступень в образ. Ступени складываются снизу вверх, как уже знакомые слои шаблона. Изменили строку - меняется только та часть, что идёт после неё. Не тронутые строки можно взять из прошлой сборки.
Повтор сборки с тем же файлом даёт тот же шаблон по смыслу. Имя образа задают при сборке, а шаги остаются в тексте. Так проект хранят в git вместе с сайтом или программой, а не только готовую копию на одном диске.
Контейнер из такого образа стартует уже из готовых файлов внутри шаблона. Сборка идёт отдельно от запуска: сначала готовят заготовку, потом создают копию для работы. Это отделяет рецепт от живой записи о запуске.