желательно избавиться. Любое изменение зависимостей и у тебя перестройка слоя без кеша вместе со всеми последующими шагами (а там внизу еще какой-то npm install, к примеру, тоже без кеша) + проблемы частого обновления образов. Имхо, его нужно переносить в инициализацию и/или юзать волюмы + юзать кеш и/или артефакты в CI/CD, тем самым сокращая время на деплой и, собстно, разработку.
Да и на проде результат composer install или npm install так же может отличаться из-за разного железа и так же не помешает его еще раз вызывать (зависит от задачи).
> а можешь это все в одном контейнере описать и указывать target
Это не избавляет от проблемы, которую я выше описал. + Каждый сервис должен быть в отдельном контейнере (в разумных пределах). Делать всё в одном тоже сильно не круто.
> вариант с multistage просто имхо удобней и логичней
Лично я так не считаю в мире пхп. В го — да. Там сборка при изменении исходников всегда обязательна.
> по умолчанию собирается dev версия с xdebug, composer и прочей хуйней
Или вообще разные образы делать или через переменную. В чем проблема?
> еще есть 3 вариант
Подобный, но "модифицированный" способ и использую.
так где я говорил что composer install в разработке ? я написал что он делается билдере, который например в ci вот он вызвался подгрузил нужные вещи и ты упаковал все в image и на прод или на тестовое окружение
Обсуждают сегодня