Назад | Перейти на главную страницу

Проблема с часовым поясом cron внутри контейнера Debian Docker

Вот мой Dockerfile (или, по крайней мере, интересная часть):

FROM debian:7
MAINTAINER pjb <pjb@example.com>

RUN apt-get update && apt-get install -y build-essential ntp cron

ADD config/job /etc/cron.d/job
ADD config/cron /etc/default/cron
RUN chmod 0644 /etc/cron.d/job

CMD cron && tail -f /var/log/cron.log

Я использую эту команду для запуска контейнера:

docker run -d --restart=always -e "TZ=Europe/Paris" -v /etc/timezone:/etc/timezone:ro --name=mycontainer pjb/repo

Когда я вхожу в контейнер (docker exec -it mycontainer bash) все выглядит хорошо:

/etc/cron.d/job:

* * * * * root /bin/date >> /var/log/cron.log 2>&1

/ и т.д. / по умолчанию / cron:

READ_ENV="yes"
TZ="Europe/Paris"

/ etc / часовой пояс:

Europe/Paris

И /bin/date дает мне правильное время.

Но дата, когда я попадаю в /var/log/cron.log, - это время UTC. Это должно быть UTC + 1.

В итоге я установил часовой пояс напрямую в моем приложении (запускается cron), и он работает должным образом.

ENV['TZ'] = 'Europe/Paris'