1

/etc/timezone - в файле таймзона указана верно, в докер контейнере тайм зона вообще другая.

Есть команда для запуска контейнера. docker run --rm --name pg-docker -e POSTGRES_PASSWORD=ololo -e PGDATA=/var/lib/postgresql/data/pgdata -d -p 5432:5432 -v /opt/postgres/data:/var/lib/postgresql/data/pgdata postgres

Что и куда в нее нужно добавить, чтоб запустить докер контейнер с той же тайм зоной, которая указана для сервера?

2

2 ответа 2

3

можно ещё одну переменную окружения передать (с помощью опции -e) — TZ. сравните:

$ docker run --rm -ti debian date
Tue Nov 19 15:56:40 UTC 2019
$ docker run --rm -ti -e TZ=Europe/Moscow debian date
Tue Nov 19 18:56:40 MSK 2019
4
  • А контейнеры разве не берут время из хоста? Вроде "своё" время только железным виртуалкам доступно.
    – don Rumata
    Commented 19 нояб. 2019 в 20:56
  • 1
    @donRumata, да, именно оттуда и берут. но время и часовой пояс — это разные сущности. Commented 19 нояб. 2019 в 21:45
  • @aleksandrbarakin подскажите пожалуйста как правильно ее в строке передать) docker run --rm --name pg-docker -e TZ=Europe/Moscow pg-docker date -e POSTGRES_PASSWORD=ololo -e PGDATA=/var/lib/postgresql/data/pgdata -d -p 5432:5432 -v /opt/postgres/data:/var/lib/postgresql/data/pgdata postgres ? Commented 20 нояб. 2019 в 8:29
  • 1
    @АлисаЛамехова, две переменных вы же уже передаёте: -e POSTGRES_PASSWORD=ololo и -e PGDATA=/var/lib/postgresql/data/pgdata. добавьте рядом и третью. Commented 20 нояб. 2019 в 9:15
1

Укажите такую же таймзону принудительно одним из способов:

  • docker run -v /etc/timezone:/etc/timezone:ro
  • docker run -e TZ=Asia/Jakarta

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.