Привет, я не знаю, как я могу запустить работу cron внутри этот контейнер.
Я нашел это: Как запустить задание cron внутри Docker-контейнера
Но это отвергает CMD, я не знаю, как поддерживать php-fpm в работе
Когда вам нужно запустить несколько процессов в вашем док-контейнере, решение заключается в использовании supervisord в качестве основной инструкции. Докер запустится и будет следить supervisord который в свою очередь запустит ваши другие процессы.
Пример файла Docker:
FROM debian:9
...
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/my.conf"]
Пример конфигурации Supervisord (/etc/supervisor/my.conf):
[supervisord]
nodaemon=true
[program:cron]
command=/usr/sbin/crond -f -l 8
stdout_logfile=/dev/stdout
stderr_logfile=/dev/stderr
stdout_logfile_maxbytes=0
stderr_logfile_maxbytes=0
autorestart=true
[program:php-fpm]
command=docker-php-entrypoint php-fpm
Обратите внимание, что желательно настроить supervisord для вывода журналов в / DEV / STDOUT а также / DEV / STDERR чтобы позволить Docker обрабатывать эти журналы. В противном случае вы рискуете замедлить работу контейнера по мере увеличения количества записей в файл.
Других решений пока нет …