Привет, я не знаю, как запустить задание cron внутри этот контейнер.
Я нашел это: Как запустить задание cron внутри докер-контейнера
Но это переопределяет CMD, я не знаю, как поддерживать работу php-fpm.
Привет, я не знаю, как запустить задание cron внутри этот контейнер.
Я нашел это: Как запустить задание cron внутри докер-контейнера
Но это переопределяет CMD, я не знаю, как поддерживать работу php-fpm.
Если вам нужно запустить несколько процессов в контейнере Docker, решение состоит в том, чтобы использовать supervisord в качестве основной инструкции. Docker запустит и будет контролировать supervisord, который, в свою очередь, запустит другие ваши процессы.
Пример файла докера:
FROM debian:9
...
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/my.conf"]
Пример конфигурации супервизора (/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 обрабатывать эти журналы. В противном случае вы рискуете, что ваш контейнер со временем замедлится по мере увеличения количества записываемых файлов.