такая мысль.
У нас монолитный веб-сервис на Python, весь бэкенд в одном репе + некоторые зависимости хотим ставить через пакеты.
Из этого репо мы запускаем:
- API
- celery-воркеры и celery beat
- telegram бота
Все 3 процесса используют один и тот же virtualenv (хотя, например, телеграм-бот мог бы и поменьше иметь зависимостей) и одни и те же переменные среды.
Сейчас это все запускаем через supervisor, хотим переехать в докер.
Вопрос: а это нормально засунуть все в один Dockerfile и внутри сделать некое условие, в зависимости от параметров запуска запукать API, worker-а или telegram-бота? Т.е. иметь некий условный image backend, а не отдельный image на каждый запускаемый процесс?
Тут очень сильно бьют по почкам, тем кто засовывает supervisord в контейнер. Один сервис - один контейнер
Нормально, best practice не нарушаются. Просто разные параметры на запуске.
Обсуждают сегодня