Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Крон внутри докера?
volego
@volego
Fullstack web-разработчик

Как создать docker-контейнер в проекте на Yii2, в котором бы работал cron?

У меня есть проект на Yii2 который разнесен по контейнерам: backend, frontend и т.п. и есть необходимость раз в сутки вызывать консольную команду, типа php yii cron/midnight и для этого я хочу добавить в мой docker-compose новый микросервис в виде отдельного контейнера, который бы бы подхватывал хранимый в репозитории проекта файл с описанием cron-сценариев и обрабатывал бы их уже внутри себя.

Проблема в том, что при всей простоте задачи - такой контейнер я могу создать разными способами на основе разных образов, но вот добиться следов выполнения заданий по cron - я никак не могу. Cron вроде как оказывается запущенным, но ожидаемых результатов от работы - нет :(

Может ли кто подсказать простую реализацию такого cron-контейнера, который бы умел в php yii по крону?
  • Вопрос задан
  • 969 просмотров
Подписаться 4 Простой 6 комментариев
Решения вопроса 1
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
Как вариант настроить кронтаб в хостовой системе, который в контейнере докера будет дергать команду.
Что-то вроде:

docker exec -i <backend docker container> bash -c "php yii cron/midnight"
Ответ написан
Ответы на вопрос 1
karabanov
@karabanov Куратор тега Docker
Системный администратор
Почитать "Запуск cron внутри Docker-контейнера" и разочароваться.

Почитать про "supercronic" воодушевиться и добавить supercronic в образ с backend, затем из образа backend запустить контейнер, собственно, с backend и из этого же образа запустить supercronic в соседнем контейнере, в котором и будет выполняться целевая команда по расписанию заданному в crontab
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы