Poslední aktualizace: 10. března 2020 10:00 PST (tichomořský standardní čas)
Příznaky
Při používání kontejnerů systému Windows Server se můžete setkat s problémy, pokud má hostitel kontejnerů nebo bitová kopie kontejneru aktualizaci zabezpečení z 11. února 2020. To neplatí, pokud stejnou aktualizaci zabezpečení z 11. února 2020 mají hostitel kontejnerů se systémem Windows i bitové kopie kontejnerů systému Windows Server.
Příznaky při spuštění nebo sestavování kontejneru můžou zahrnovat:
-
Když spustíte příkaz „docker run” nebo „docker build”, nemusíte obdržet žádný výstup a systém může přestat reagovat.
-
Váš kontejner systému Windows Server v platformě Kubernetes nepřejde do stavu „running“.
-
Zobrazí se vám chyba “docker: Error response from daemon: container <id> encountered an error during Start: failure in a Windows system call: The wait operation timed out. (0x102)” (docker: démon poslal jako odpověď chybu: u kontejneru <id> došlo k chybě při spuštění: došlo k selhání v systémovém volání Windows: vypršel časový limit operace čekání. 0x102.)
-
U vaší 32bitové aplikace nebo procesů spuštěných uvnitř kontejneru může dojít k tichému selhání.
Příčina
Tento problém byl výsledkem změny zabezpečení, která vyžadovala změnu rozhraní mezi uživatelským režimem a režimem jádra. Protože kontejnery s izolací procesů sdílí režim jádra s hostitelem kontejnerů a bitovými kopiemi kontejnerů, byla součást uživatelského režimu bez aktualizace s novým zabezpečeným rozhraním jádra nekompatibilní i nezabezpečená.
Možnosti řešení
Přidali jsme nové pokyny pro aktualizace na webu Docs pro kontejnery systému Windows v částech Kompatibilita verzí kontejnerů systému Windows a Aktualizace kontejnerů systému Windows Server. To zahrnuje také podrobnosti o kompatibilitě aktualizací a maticový přehled. Informace o konkrétních problémech uvedených v tomto článku najdete v řešeních a zmírněních tohoto problému níže.
Řešení problému, kdy systém není ve stavu „running” a „u 32bitových aplikací dochází k tichému selhání“ (příznak 1, 2, 3 a 4):
18. února 2020 byly vydány aktualizované bitové kopie kontejnerů, které řeší problémy zahrnující příznaky (1, 2, 3 a 4) v tomto článku. Pokud se setkáte s těmito problémy, doporučujeme, abyste aktualizovali hostitele kontejnerů pomocí vydání aktualizace zabezpečení z 11. února 2020 a bitové kopie kontejnerů pomocí vydání z 18. února 2020. Poznámka: Vydání z 18. února 2020 je pouze pro bitové kopie kontejnerů. Aktualizace zabezpečení z 11. února 2020 jsou doposud nejnovějšími aktualizacemi pro hostitele kontejnerů.
Chcete-li tento problém vyřešit ve vašem prostředí, znovu spusťte příkaz pull a aktualizujte základní bitové kopie operačního systému Windows Serveru nebo příslušnou bitovou kopii kontejneru, například IIS nebo .NET, a opětovným spuštěním automatizace znovu sestavte kontejnery pomocí bitových kopií kontejnerů, které mají bitovou kopii kontejneru z 18. února 2020.
Důležité: Pokud jste jako alternativní řešení problémů v tomto článku změnili své značky pull nebo automatizaci, měli byste vrátit změny na předchozí značky pull. Už by nemělo být potřeba používat specifickou verzi.
Zmírnění problému „u 32bitových aplikací dochází k tichému selhání“ (příznak 4):
Velmi doporučujeme, abyste aktualizovali hostitele kontejnerů na aktualizaci zabezpečení z 11. února 2020, jak je popsáno výše. Pokud nemůžete aktualizovat hostitele kontejnerů na aktualizaci zabezpečení z 11. února 2020, budete muset zajistit, aby se build a verze revize bitové kopie kontejneru shodovaly s buildem a verzí revize operačního systému hostitele kontejnerů. Pokyny, jak zkontrolovat verzi hostitele kontejnerů, najdete v tomto článku. Až budete znát verzi hostitele kontejnerů, můžete získat verzi bitové kopie kontejneru pomocí následujícího příkazu pull (budete muset upravit základní bitovou kopii operačního systému Windows Serveru a verzi pro vaše prostředí). Pokud například používáte kontejner jádra Windows Serveru:
docker pull mcr.microsoft.com/windows/servercore:<verze hostitele kontejnerů, například 10.0.17763.1040>
Jakmile se verze hostitele kontejnerů a verze bitové kopie kontejneru shodují, mělo by se vám podařit znovu používat příkazy, jako je run nebo build.
Poznámka: Doporučujeme, abyste své značky příkazu pull nebo automatizaci měnili jen v případě, že se setkáte s aplikacemi, u kterých dochází k tichému selhání.
Reference
V seznamu níže jsou uvedeny verze systému Windows Server, u kterých podporujeme bitové kopie kontejnerů, spolu s čísly verzí aktualizací zabezpečení vydaných 14. ledna 2020 a 11. února 2020 a vydání pouze bitové kopie kontejneru z 18. února 2020. Bitové kopie kontejnerů vydané 18. února 2020 uvedené níže budou automaticky vyžádány, pokud pomocí plovoucích značek neurčíte žádnou verzi.
Verze systému Windows Server (plovoucí značka) |
Verze aktualizace vydané 14. ledna 2020 |
Verze aktualizace z 11. února 2020 |
Verze aktualizace z 18. února 2020 |
Windows Server 2016 (ltsc2016) |
10.0.14393.3443 |
10.0.14393.3504 |
10.0.14393.3506 |
Windows Server verze 1803 (1803) |
10.0.17134.1246 |
10.0.17134.1304 |
10.0.17134.1305 |
Windows Server 2019 (ltsc2019) Windows Server verze 1809 (1809) |
10.0.17763.973 |
10.0.17763.1039 |
10.0.17763.1040 |
Windows Server verze 1903 (1903) |
10.0.18362.592 |
10.0.18362.657 |
10.0.18362.658 |
Windows Server verze 1909 (1909) |
10.0.18363.592 |
10.0.18363.657 |
10.0.18363.658 |
Pokud používáte bitové kopie virtuálního počítače z Azure Marketplace s kontejnery, jsou nyní k dispozici bitové kopie z února 2020. Při používání těchto bitových kopií byste se neměli setkat s výše uvedenými problémy nebo příznaky. Další informace najdete v článku KB4540981.
Úplný seznam bitových kopií kontejnerů systému Windows najdete na stránce Docker Hub tady.
Podrobnější informace o kontejnerech systému Windows Server najdete na stránce https://aka.ms/containers.