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ří:
- Když spustíte příkaz docker run nebo docker build, nemusí se zobrazit výstup a může přestat reagovat.
- Kontejner Windows Server v Kubernetes nedosáhne stavu "spuštěno".
- 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)."
- 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.