Как настроить запуск cron на новом образе, не навредив службе Apache?

Как настроить запуск cron на новом образе, не навредив службе Apache?

Я создаю новый образ с помощью cron, который основан на php:7.3-apache-busterобразе.

Сборка образа проходит без сучка и задоринки. Контейнер также создается со статусом Up. Однако в браузере при вводе http://localhost:8082не отображается страница Apache. Служба Apache унаследована от php:7.3-apache-busterобраза.

В моем Dockerfile последняя строка — CMD cron && tail -f /var/log/cron.log. Я считаю, что именно эта строка создает проблему.

Если я вхожу в контейнер с командой docker exec -it cont-mysite-01 /bin/bashи запускаю команду service apache2 start, Apache запускается нормально.

Чего я не понимаю?

Как создать образ, в котором Apache из базового образа и Cron из нового образа будут работать вместе?

Мои ссылки:

https://github.com/Ekito/docker-cron/blob/master/Dockerfile

https://hub.docker.com/_/php

решение1

Я решил проблему следующим образом:

Я удалил строку CMD cron && tail -f /var/log/cron.logиз Dockerfile.

Затем я добавил строку RUN sed -i 's/^exec /service cron start\n\nexec /' /usr/local/bin/apache2-foreground.

После создания контейнера с образом выполните команды для проверки Apache2 и Cron:

docker exec -it cont-mysite-01 service apache2 status

docker exec -it cont-mysite-01 service cron status

Ссылка, которая мне помогла:

http://www.idein.it/joomla/14-docker-php-apache-with-crontab

Связанный контент