Время имеет смещение в два часа на контейнере Windows с Docker - PullRequest
0 голосов
/ 06 июня 2018

Используя Visual Studio 2017, я добавил поддержку Docker с контейнером Windows в простое основное приложение asp.net.

Когда я запускаю приложение, значения DateTime.Now и DateTime.UtcNow появляются через 2 часачем ожидаемые значения.(Вместо 1:00 UTC, это 3:00 UTC)

Если я использую Docker с контейнерами Linux, время будет правильным.

Как управляется время в контейнере Windows и какя могу синхронизировать его с хостом?

Ответы [ 2 ]

0 голосов
/ 22 августа 2018

После долгих исследований я нашел сообщение на github Moby: https://github.com/moby/moby/issues/37283

Похоже, это ошибка на изображениях Windows, где вы получаете неправильное время, если ваш часовой пояс восточнее PST.Исправление ожидается в сентябре 2018 года.

0 голосов
/ 06 июня 2018

Я предположу, что вы живете в 2 часовых поясах от Гринвич.Посмотрите на https://serverfault.com/questions/683605/docker-container-time-timezone-will-not-reflect-changes?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa. Я заметил, что время в моих док-контейнерах было не локальным (но соответствует времени по Гринвичу).Я попробовал трюк --env TZ=America/Los_Angeles, и время в моем док-контейнере было не локальным, но в соответствии с Лос-Анджелесом.

Так что, похоже, решение состоит в том, чтобы добавить аргумент --env TZ={your timezone} к вашей команде запуска докера.

...