Py学习  »  docker

为什么我的Docker容器的时间戳在运行ASP.NETFramework4.7应用程序时出错?

willem • 4 年前 • 657 次点击  

我有一个非常简单的asp.net v4.7web应用程序,它运行在本地开发笔记本电脑上的docker容器中。

web应用程序试图连接到documentdb,但这失败了,因为容器的时间戳完全错误,所以jwt令牌验证自然失败。确切的asp.net代码并不重要;这更多的是关于Docker容器的时间戳与主机不同的原因。

注意,我使用的是windows容器。我的档案如下:

FROM microsoft/aspnet:4.7.2-windowsservercore-1803
ARG source
WORKDIR /inetpub/wwwroot

COPY ${source:-obj/Docker/publish} .

当我连接到容器并运行“time”时,会得到以下结果:

docker container exec -it <containerId> cmd
c:\>time
The current time is:  0:29:49.87

c:\>tzutil /g
South Africa Standard Time

当我在主机上,我的笔记本电脑上执行此操作时,我会得到:

C:\>time
The current time is: 15:42:45.72
Enter the new time:

C:\>tzutil /g
South Africa Standard Time

Docker从哪里得到那个疯狂的时间戳?启动时是否有与主机同步的方法?

我的笔记本电脑的操作系统版本是:win 10 v1803(内部版本17134.471) 我正在运行:Docker for Windows CE v2.0.0-Win81(29211),Docker引擎版本18.09.0

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46538
 
657 次点击  
文章 [ 1 ]  |  最新文章 4 年前
willem
Reply   •   1 楼
willem    5 年前

不幸的是,到目前为止唯一的解决办法是“等待并让它浸泡”,如 http://github.com/Microsoft/aspnet-docker/issues/120

谢谢@ikkentim指出这个问题。

我怀疑我的容器可能没有互联网接入,无法同步其时钟,但无法验证这一点,因为它今天早上才开始正常工作。

如果我找到比“等待”更有用的解决方案,我将发布一个更好的答案。