Если вы обладаете хорошими навыками Docker / Unix / shell-scripting, системой непрерывной интеграции (CI) и готовностью выполнять текущее обслуживание, вы можете предпочесть создание собственных образов. Вы будете контролировать точную версию используемого программного обеспечения и все необходимые параметры сборки или расширения, а также будете контролировать, когда будут установлены исправления безопасности. Но это трудный путь для начала, и если вы не будете периодически обновлять ваши пользовательские изображения, они никогда не получат никаких исправлений ошибок или исправлений безопасности вообще.
Если вы новичок в этом пространстве, вы можете предпочесть стандартные образы Docker Hub. Они предварительно упакованы, обычно имеют «достаточно» вариантов настройки и, как правило, довольно хорошего качества. Но, если вам нужна дополнительная настройка, вам может понадобиться создать собственное изображение в любом случае. Я также столкнулся с ситуацией, когда я прикрепил изображение к определенной исходной версии image:1.2.3
и заметил несколько месяцев спустя, что image:1.2.7
отсутствует, а шестимесячный образ Docker Hub не получил критическое исправление безопасности, потому что оно больше не собирается.
Если ничего из этого особенно не касается вас (и если в вашем распоряжении нет команды DevOps), я бы предложил просто использовать заранее подготовленное nginx
изображение и сосредоточиться на создании и развертывании вашего реального приложения.