В Docker нужно сделать так, чтобы в cron раз в сутки запускался php скрипт. Скажите, как правильно это реализовать? В интернете встречал вариант запустить в одном контейнере через supervisor сразу 2 процесса (fpm и cron), но другие говорят что каждый процесс должен быть изолирован. Так же встречал другой вариант, когда в хост-системе прописывается в крон что-то в духе docker exec php /path/to/php/script.php, но это сильно смахивает на костыль. Я создал 2 контейнера: в одном php в другом cron. Связал их с помощью links и volumes, но я не могу вызвать из крона php скрипт из другого контейнера. Скажите, как все таки правильно это сделать?
Файл docker-compose.yml
cron:
build: ./
links:
- "php"
volumes:
- "./:/home"
php:
image: php
command: tail -f /dev/null
volumes:
- "./:/home"
Файл Dockerfile
FROM centos
RUN yum -y update
RUN yum -y install crontabs
RUN sed -i -e '/pam_loginuid.so/s/^/#/' /etc/pam.d/crond
ADD cron /etc/cron.d/cron_test
RUN chmod 0644 /etc/cron.d/cron_test
RUN crontab /etc/cron.d/cron_test
CMD crond && tail -f /dev/null