@BkackJesus

Как запустить таску внутри докер контейнера с хоста в кроне?

Здравствуйте!
Хочу запустить таску внутри докер контейнера с хоста в кроне. Есть такое решение
/usr/bin/docker-compose -f ~/path/to/docker-compose.yml exec -T php /usr/bin/php /var/www/bin/yii bigquery/events
, если запуска его просто схоста он работает и таска отрабатывает, но когда все это делаю ставлю в крон
* * * * * /usr/bin/docker-compose -f ~/path/to/docker-compose.yml exec -T php /usr/bin/php /var/www/bin/yii bigquery/events
, то ничего не работает. В логах крона никакой информации про ошибку.
Что может быть не так
  • Вопрос задан
  • 311 просмотров
Решения вопроса 1
@BkackJesus Автор вопроса
Ответ найден! И как это бывает он банален. docker-compose не видел переменные из .env файла. нужно было сменить каталог перед выполнением docker-compose
* * * * * cd ~/directory/to/your/docker-compose && /usr/local/bin/docker-compose -f ~/directory/to/docker-compose.yml run --rm -T -w /var/www php /var/www/bin/yii bigquery/events
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@scor2k
Раз уж вы все равно делаете свой велосипед, сделайте так, чтобы приложение, которое вы запускаете, было запущено постоянно на хосте и имело какой-нибудь порт опубликованным. Дальше - проще. Из Cron-а стучитесь на этот порт curl'ом с нужной периодичностью, а обработчик из приложения уже будет запускать вашу задачу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы