Докер для dev и prod
Хочу использовать докер для разработки и в продакшене. Я знаю, что в теории настройки должны быть одинаковыми, однако столкнулся с тем, что, к примеру, xbedug мне нужен только при разработке. В дальнейшем, вероятно, появятся другие вещи, которые не нужны в продакшне.
Сейчас мой docker-compose содержит
networks:
appuser:
driver: bridge
ipam:
driver: default
config:
- subnet: ${SUBNET_IP}/${SUBNET_MASK}
для работы xdebug.
А в dockerfile для php я пытаюсь использовать if
RUN if [ ${APP_ENV} == "dev" ]; then pecl install xdebug; fi
RUN if [ ${APP_ENV} == "dev" ]; then docker-php-ext-enable xdebug; fi
Ошибок это не выдает, но и не устанавливает xdebug.
Отсюда вопрос: каким образом лучше всего решить проблему с лишними настройками и модулями в prod? Должны же быть какие-то лучшие практики или что-то в этом роде. Едва ли я первый, кто столкнулся с таким вопросом. Использовать разные docker-compose файлы для prod и dev? Это решение мне не очень нравится. Придется создавать почти одинаковые docker-compose и dockerfile. IF в докере тоже не вызывает доверия, тем более что он не работает и остаются лишние инструкции в docker-compose.