Если вы создаете изображение с помощью Dockerfile, обновить его можно почти тривиально, извлекая его из системы контроля версий, обновляя тег на базовом изображении или docker pull
используя его более новую версию и повторно запуская docker build
.
Если вы создаете образ, запустив docker commit
, и через год вы обнаружите, что в базовом дистрибутиве Linux есть критическая уязвимость, и вам необходимо прекратить его использование немедленно , вам нужно вспомнить, что вы сделали год go для создания образа и какие именно шаги вы предприняли, чтобы повторить их, и вам лучше надеяться, что вы сделаете их точно так же снова. О, если бы вы только записали в текстовый файл, какое базовое изображение вы запустили FROM
, какие файлы вам нужно COPY
, а затем какие команды вам нужно RUN
, чтобы настроить приложение в образе. ..
Короче говоря, написание Dockerfile, передача его в систему контроля версий и запуск docker build
почти всегда намного лучше, чем запуск docker commit
. Вы можете настроить систему непрерывной интеграции для перестройки образа при каждом изменении исходного кода; когда есть такая уязвимость безопасности, тривиально вставить строку FROM
в новый базовый образ и перестроить.