Při používání kontejnerů systému Windows Server s aktualizací zabezpečení z 11. února 2020 může docházet k problémům

Platí pro
Windows Server 2016, all editions Windows Server 2019, all editions Windows Server version 1803 Windows Server version 1809 Windows Server, version 1903, all editions Windows Server, version 1909, all editions

Poslední aktualizace 10. března 2020 10:00 PST

Příznaky

Při používání kontejnerů systému Windows Server může docházet k problémům, pokud má hostitel kontejneru nebo image kontejneru aktualizaci zabezpečení z 11. února 2020, pokud nejsou hostitelské image kontejneru Windows i kontejneru systému Windows Server spárovány s aktualizací zabezpečení z 11. února 2020.

Mezi příznaky při spouštění nebo vytváření kontejneru patří:

  1. Když spustíte příkaz docker run nebo docker build, nemusí se zobrazit výstup a může přestat reagovat.
  2. Kontejner Windows Server v Kubernetes nedosáhne stavu "spuštěno".
  3. Zobrazí se chyba "docker: Error response from daemon: Container <id> encountered an error during Start: failure in a Windows system call: The wait operation timed expired. (0x102)."
  4. Vaše 32bitová aplikace nebo procesy spuštěné uvnitř kontejneru můžou tiše selhat.

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. Vzhledem k tomu, že kontejnery izolované procesem sdílejí režim jádra s hostitelem kontejneru a image kontejnerů, byla komponenta uživatelského režimu bez aktualizace nekompatibilní a nezabezpečená s novým zabezpečeným rozhraním jádra.

Řešení a alternativní řešení

Přidali jsme nové pokyny k aktualizacím na web Windows Container Docs v oddílech Kompatibilita verzí kontejnerů Windows a Aktualizace kontejnerů systému Windows Server .  Obsahuje také podrobnosti o kompatibilitě aktualizací a matici.  Informace o konkrétních problémech uvedených v tomto článku najdete v následující části o řešení a zmírnění rizik.

Řešení problémů s nespouští a 32bitové aplikace tiše selhávají (příznaky 1, 2, 3, 4):

18. února 2020 byly vydány aktualizované image kontejnerů, které řeší problémy se symptomy (1,2,3,4) uvedenými v tomto článku.  Pokud narazíte na tyto problémy, doporučujeme aktualizovat hostitele kontejneru na vydání aktualizace zabezpečení z 11. února 2020 a image kontejnerů vydané 18. února 2020.   Poznámka Verze z 18. února 2020 je určená jenom pro image kontejnerů.  Aktualizace zabezpečení z 11. února 2020 jsou pro hostitele kontejneru stále nejnovější aktualizací.

Pokud chcete tento problém ve vašem prostředí vyřešit, znovu spusťte příkaz pull a aktualizujte základní image operačního systému Windows Server nebo příslušnou image kontejneru, jako je IIS nebo .NET, a znovu spusťte kanál automatizace, abyste znovu sestavili kontejnery pomocí imagí kontejnerů s imagí kontejneru z 18. února 2020.

Důležité Pokud jste změnili značky vyžádané replikace nebo automatizaci jako alternativní řešení problémů uvedených v tomto článku, měli byste vrátit změny předchozích značek.  Už by pak nemělo být nutné používat konkrétní verzi.

Zmírnění rizik souvisejících s problémem "Selhání 32bitových aplikací v tichém režimu" (příznak 4):

Důrazně doporučujeme, abyste hostitele kontejneru aktualizovali na aktualizaci zabezpečení z 11. února 2020, jak je popsáno výše. Pokud nemůžete aktualizovat hostitele kontejneru na aktualizace zabezpečení z 11. února 2020, budete muset spárovat verzi sestavení a revize image kontejneru s verzí sestavení a revize hostitelského operačního systému kontejneru.  Pokyny, jak zkontrolovat verzi hostitele kontejneru, najdete v tomto článku. Jakmile budete mít verzi z hostitele kontejneru, můžete si verzi image kontejneru vyžádat pomocí následujícího příkazu (budete muset upravit image a verzi základního operačního systému systému Windows Server tak, jak platí ve vašem prostředí). Pokud například používáte kontejner jádra systému Windows Server:

docker pull mcr.microsoft.com/windows/servercore:<version your container host, such as 10.0.17763.1040>

Po shodě verzí hostitele kontejneru a image kontejneru byste měli být schopni obnovit příkazy kontejneru, jako je run nebo build.

Poznámka Změnit značky přijetí změn nebo automatizaci doporučujeme pouze v případě, že narazíte na aplikace, které tiše selhávají.

Reference

Níže uvedený seznam obsahuje verze systému Windows Server, pro které podporujeme image kontejnerů, společně s čísly verzí aktualizací zabezpečení vydaných 14. ledna 2020 a 11. února 2020 a jedinou image kontejneru vydanou 18. února 2020.  Image kontejnerů vydané 18. února 2020 uvedené níže se automaticky načtou, pokud v plovoucích značkách nezadáte verzi.

Verze systému Windows Server (plovoucí značka) Aktualizovaná verze pro verzi ze 14. ledna 2020 Aktualizovaná verze 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 s kontejnery používáte image virtuálních počítačů s Azure Marketplace, jsou teď k dispozici image z února 2020. Při používání těchto obrázků byste se neměli setkat s výše uvedenými problémy nebo příznaky.  Další informace najdete v tématu KB4540981.

Úplný seznam imagí kontejneru Windows najdete na stránce Docker Hub tady.

Podrobnější informace o kontejnerech Windows Server najdete v https://aka.ms/containers.