Докер для 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.


Ответы (0 шт):