Контейнеры docker на базе легковесного Linux Alpine используют часовой пояс UTC по умолчанию, для того, что-бы это исправить необходимо выполнить 2 шага.
- При запуске, передать контейнеру переменную окружения -e TZ="Europe/Kiev"
-e TZ="Europe/Kiev"
(в вашем случае ваш часовой пояс). Строка запуска будет выглядеть примерно следующим образомdocker run --name containername -d \-e TZ="Europe/Kiev" \nginx:alpinedocker run --name containername -d \ -e TZ="Europe/Kiev" \ nginx:alpinedocker run --name containername -d \ -e TZ="Europe/Kiev" \ nginx:alpine
Но это сработает только в том случае, если в образе уже установлен пакет
tzdata
, например в nginx образе это так. - Если вы собираете свой образ на основе чистого alpine:latest — вам нужно установить
tzdata
в ваш образ, ниже пример DockerfileFROM alpine:latestRUN apk update && \apk add --no-cache tzdataENTRYPOINT ["date"]FROM alpine:latest RUN apk update && \ apk add --no-cache tzdata ENTRYPOINT ["date"]FROM alpine:latest RUN apk update && \ apk add --no-cache tzdata ENTRYPOINT ["date"]
Ниже я привожу пример своего Dockerfile, в котором собирается моё flask приложение, устанавливаются зависимости (в том числе tzdata), таким образом, что-бы образ не сильно вырос в размере.
FROM python:3.7-alpineWORKDIR /home/appCOPY app appCOPY migrations migrationsCOPY config.py requirements.txt run.py run.sh ./RUN python -m venv venvRUN apk update && \apk add --no-cache --virtual build-deps gcc python3-dev musl-dev postgresql-dev && \apk add --no-cache postgresql-dev tzdata && \venv/bin/pip install --no-cache-dir psycopg2-binary gunicorn && \apk del --no-cache build-depsRUN venv/bin/pip install -r requirements.txtRUN chmod +x run.shENV FLASK_APP run.pyEXPOSE 5000ENTRYPOINT ["./run.sh"]FROM python:3.7-alpine WORKDIR /home/app COPY app app COPY migrations migrations COPY config.py requirements.txt run.py run.sh ./ RUN python -m venv venv RUN apk update && \ apk add --no-cache --virtual build-deps gcc python3-dev musl-dev postgresql-dev && \ apk add --no-cache postgresql-dev tzdata && \ venv/bin/pip install --no-cache-dir psycopg2-binary gunicorn && \ apk del --no-cache build-deps RUN venv/bin/pip install -r requirements.txt RUN chmod +x run.sh ENV FLASK_APP run.py EXPOSE 5000 ENTRYPOINT ["./run.sh"]FROM python:3.7-alpine WORKDIR /home/app COPY app app COPY migrations migrations COPY config.py requirements.txt run.py run.sh ./ RUN python -m venv venv RUN apk update && \ apk add --no-cache --virtual build-deps gcc python3-dev musl-dev postgresql-dev && \ apk add --no-cache postgresql-dev tzdata && \ venv/bin/pip install --no-cache-dir psycopg2-binary gunicorn && \ apk del --no-cache build-deps RUN venv/bin/pip install -r requirements.txt RUN chmod +x run.sh ENV FLASK_APP run.py EXPOSE 5000 ENTRYPOINT ["./run.sh"]