По 2 причинам
1. Довольно часто выкатываем задачи, а не ждём релиза раз в неделю/месяц. Это придётся каждый раз пересобирать образ.
2. Файловая структура. Это моя личная боль. Куча папок раскиданных по разным местам в которые пишут/читают скрипты. И эти данные пользователи мог скачивать себе. Из-за этого нельзя просто так взять и запихнуть код в образ :(.
У меня есть другие сервисы - mongodb, sphinx, elasticsearch, mysql. Которые работают в докере и так же монтируется папки через volume чтобы сохранить данные. И к ним притензий нет.
Может быть потому что в самом сайте (код в расчёт не беру) очень много файлов?
1. Ну если сконфигурировать CI/CD то это не больно. Многие на практике релизят ежедневно, у нас например порядка 10 сборок ежедневно.
2. Из личного опыта скажу, что избавление от FS это не просто, но оно того стоит. В зависимости от платформы старайтесь использовать нативные средства хранения(google bucket, aws bucket), которые предоставляет платформа, если такие есть, конечно.
Важно понимать, что volume синхррнизирует данные между всеми репликами. Поэтому если изменений в FS много - то можете представить, как это расходится по сети. Что касается других сервисов, то они могут выполнять это в отдельных тредах. Например mysql сохраняет данные на диск параллельно и для этого используется специальная настройка, как часто сохранять данные на диск. В остальном mysql работает с оперативной памятью.