在使用Docker的Windows容器上,时间偏移了两个小时

时间:2018-06-06 01:08:34

标签: docker asp.net-core docker-compose

使用Visual Studio 2017,我将Docker支持与Windows容器一起添加到一个简单的asp.net核心应用程序。

当我运行应用程序时,DateTime.Now和DateTime.UtcNow的值比预期值晚2小时。 (而不是1:00 UTC,它是3:00 UTC)

如果我将Docker与Linux容器一起使用,那么时间是正确的。

如何在Windows容器中管理时间以及如何将其与主机同步?

2 个答案:

答案 0 :(得分:0)

我将推测你和Greenwhich住在一起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。我注意到我的码头工人集装箱里的时间不在当地(但与GMT一致)。我尝试了这个技巧--env TZ=America/Los_Angeles,我的码头工人容器中的时间不在当地,但与洛杉矶一致。

所以似乎解决方案是在你的docker run命令中添加一个参数--env TZ={your timezone}

答案 1 :(得分:0)

经过大量研究,我在Moby的github上找到了一个帖子:https://github.com/moby/moby/issues/37283

这似乎是Windows图像上的错误,如果您的时区位于PST东部,则您获得错误的时间。预计将于2018年9月进行修复。