簡體   English   中英

為什么在運行ASP.NET Framework 4.7應用程序時docker容器的時間戳錯誤?

[英]Why is my docker container's timestamp wrong when running an ASP.NET Framework 4.7 application?

我有一個非常簡單的ASP.NET v4.7 Web應用程序,該應用程序在本地開發筆記本電腦上的docker容器中運行。

Web應用程序嘗試連接到DocumentDb,但這失敗了,因為容器的時間戳是完全錯誤的,因此Jwt令牌驗證自然會失敗。 確切的ASP.NET代碼並不重要。 這更多地說明了為什么Docker容器的時間戳與主機不同。

請注意,我正在使用Windows容器。 我的dockerFile如下所示:

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

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

當我連接到容器並運行“時間”時,得到以下信息:

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

碼頭工人在哪里得到那個瘋狂的時間戳? 有沒有一種在啟動時與主機同步的方法?

我的筆記本電腦的操作系統版本是:Win 10,v1803(內部版本17134.471)我正在運行:Docker for Windows CE v2.0.0.0-win81(29211)和Docker Engine版本18.09.0

不幸的是,到目前為止唯一的解決方案是“等待並使其腌制”,如http://github.com/Microsoft/aspnet-docker/issues/120中指出的那樣

感謝@ikkentim指出問題。

我懷疑我的容器也許無法訪問互聯網並且無法同步其時鍾,但由於今天早上才開始正常工作,因此無法對其進行驗證。

如果找到比“等待”更有用的解決方案,我將發布更好的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM