最後更新:2020 年 3 月 10 日上午 10:00 (PST)
徵狀
如果容器主機或容器映像具有 2020 年 2 月 11 日的安全性更新,則使用 Windows Server 容器時可能會遇到問題,除非 Windows 容器主機和 Windows Server 容器映像都與 2020 年 2 月 11 日的安全性更新匹配。
執行或構建容器時的症狀可能包括:
-
執行指令「docker run」或「Docker build」時,可能無法接收輸出,並且它可能變得無回應。
-
Kubernets 中的 Windows Server 容器未達到「執行中」狀態。
-
您收到錯誤,「docker: 來自精靈的錯誤回應:容器 <id> 在啟動期間遇到錯誤:Windows 系統呼叫中的失敗: 等待操作逾時。 (0x102)」。
-
在容器內執行的 32 位應用程式或進程可能會靜默失敗。
原因
此問題是安全性變更的結果,該變更需要在使用者模式和核心模式之間更改介面。 由於進程隔離容器與容器主機和容器映像共用核心模式,因此沒有更新的使用者模式元件與新的安全核心介面不相容且不安全。
解決方法和因應措施
我們在 Windows 容器版本相容性和更新 Windows 伺服器容器部分中新增了 Windows 容器文件網站的新版更新指南。 這還包括有關更新相容性和矩陣的詳細資訊。 有關本文中列出的具體問題的資訊,請參閱下面的解決方法和因應措施。
解決「不執行」和「32 位元應用程式靜默失敗」問題 (症狀 1、2、3、4):
2020 年 2 月 18 日,發佈了更新的容器映像,以解決本文中的症狀問題 (1、2、3、4)。 如果您遇到這些問題,我們建議您將容器主機更新為 2020 年 2 月 11 日的安全性更新版本和 2020 年 2 月 18 日發佈的容器映像。 附註:2020 年 2 月 18 日版本僅適用于容器映像。 2020 年 2 月 11 日的安全性更新仍然是容器主機的最新更新。
要在環境中解決此問題,請重新執行 pull 指令以更新 Windows Server 基礎作業系統映像或適用的容器映像 (如 IIS 或 .NET),然後重新執行自動化管道,以便使用包含 2020 年 2 月 18 日容器映像的容器映像重新組建容器。
重要提示:如果變更拉取標記或自動化作為本文中問題的解決方法,則應將更改還原到以前的拉取標記。 您不再需要使用特定版本。
減輕「32 位應用程式靜默失敗」問題 (症狀 4):
我們強烈建議您將容器主機更新為 2020 年 2 月 11 日的安全性更新,如上所述。 如果無法將容器主機更新為 2020 年 2 月 11 日的安全性更新,則需要將容器映像的組建和修訂版本與容器主機作業系統的組建和修訂版本進行匹配。 有關如何檢查容器主機版本的說明,請參閱本文。 從容器主機獲得版本後,可以使用以下命令拉取容器映像版本 (您需要調整適用于您的環境的 Windows Server 基本作業系統映像和版本)。 例如,如果您使用 Windows Server Core 容器:
docker pull mcr.microsoft.com/windows/servercore:<version your container host, such as 10.0.17763.1040>
容器主機和容器映射版本匹配後,您應該能夠恢復容器指令 (如 run 或 build)。
附註:我們只會在您遇到靜默失敗的應用程式時,才會建議變更提取標記或自動化。
參考
下面的清單顯示了我們支援容器映像的 Windows Server 版本,2020 年 1 月 14 日和 2020 年 2 月 11 日發佈的安全性更新的版本號,以及僅在 2020 年 2 月 18 日發佈的容器映像。 如果未在浮動標記中指定版本,則下面列出的 2020 年 2 月 18 日發佈的容器映像將自動提取。
Windows Server 版本 (浮動標記) |
2020 年 1 月 14 日版本的更新版本 |
2020 年 2 月 11 日更新版本 |
2020 年 2 月 18 日更新版本 |
Windows Server 2016 (ltsc2016) |
10.0.14393.3443 |
10.0.14393.3504 |
10.0.14393.3506 |
Windows Server,版本 1803 (1803) |
10.0.17134.1246 |
10.0.17134.1304 |
10.0.17134.1305 |
Windows Server 2019 (ltsc2019) Windows Server,版本 1809 (1809) |
10.0.17763.973 |
10.0.17763.1039 |
10.0.17763.1040 |
Windows Server,版本 1903 (1903) |
10.0.18362.592 |
10.0.18362.657 |
10.0.18362.658 |
Windows Server,版本 1909 (1909) |
10.0.18363.592 |
10.0.18363.657 |
10.0.18363.658 |
如果將 Azure Marketplace Virtual Machine 映像與容器一起使用,則 2020 年 2 月映像現在可用。 使用這些映像時,您不應遇到上述問題或症狀。 如需詳細資訊,請參閱 KB4540981。
有關 Windows 容器映像的完整清單,請參閱此處的 Docker Hub 頁面。
有關 Windows Server 容器的詳細資訊,請參閱 https://aka.ms/containers。