Ostatnio zaktualizowano 10 marca 2020 r. o godz. 10:00 czasu urzędowego Pacyfiku (PST)
Objawy
Mogą wystąpić problemy w przypadku używania kontenerów Windows Server, jeśli na hoście kontenera lub w obrazie kontenera jest zainstalowana aktualizacja zabezpieczeń z 11 lutego 2020 r., chyba że host kontenera Windows i obrazy kontenerów Windows Server zostaną ujednolicone aktualizacją zabezpieczeń z 11 lutego 2020 r.
Objawy podczas uruchamiania lub tworzenia kontenera mogą obejmować:
-
Po uruchomieniu polecenia „docker run” lub „docker build” użytkownik może nie otrzymywać wyników i polecenia mogą przestać odpowiadać.
-
Kontener Windows Server w Kubernetes nie dociera do stanu „uruchomione”.
-
Zostanie wyświetlony komunikat o błędzie: „docker: Error response from daemon: container <id> encountered an error during Start: failure in a Windows system call: The wait operation timed out. (0x102)”.
-
Procesy lub aplikacje 32-bitowe działające wewnątrz kontenera mogą ulegać dyskretnym awariom.
Przyczyna
Ten problem był wynikiem zmiany zabezpieczeń, która wymagała zmiany interfejsu między trybem użytkownika a trybem jądra. Ze względu na to, że kontenery izolowane od procesów współdzielą tryb jądra z hostem kontenera i obrazami kontenerów, składnik trybu użytkownika bez aktualizacji był niezgodny z nowym bezpiecznym interfejsem jądra i niezabezpieczony o jego funkcje.
Obejście i rozwiązanie problemu
Dodaliśmy nowe wskazówki dotyczące aktualizacji w witrynie „Kontenery Windows — dokumentacja” w sekcji Zgodność wersji kontenerów systemu Windows i Aktualizacja kontenerów Windows Server. Obejmuje to również szczegółowe informacje na temat zestawień i zgodności aktualizacji. Aby uzyskać informacje dotyczące określonych problemów wymienionych w tym artykule, zobacz rozwiązania problemów poniżej.
Rozwiązanie dotyczące problemów z niedziałaniem i dyskretnymi awariami aplikacji 32-bitowych (symptom 1, 2, 3, 4):
18 lutego 2020 r. zaktualizowane obrazy kontenerów zostały opublikowane w celu rozwiązania problemów z objawami (1, 2, 3, 4) w tym artykule. W przypadku napotkania tych problemów zalecamy zaktualizowanie hosta kontenera do aktualizacji zabezpieczeń z 11 lutego 2020 r. i obrazów kontenerów do wydania z 18 lutego 2020. Uwaga Wydanie z 18 lutego 2020 r. jest przeznaczone tylko dla obrazów kontenerów. Aktualizacje zabezpieczeń z 11 lutego 2020 r. są nadal najnowszymi wersjami hosta kontenera.
Aby rozwiązać ten problem w danym środowisku, uruchom ponownie polecenie pobierania, aby zaktualizować podstawowe obrazy systemu operacyjnego Windows Server lub odpowiedni obraz kontenera, taki jak IIS lub .NET, i ponownie uruchom potok automatyzacji w celu odbudowania kontenerów na podstawie obrazu kontenera z 18 lutego 2020 r.
Ważne W przypadku zmiany znaczników pobierania lub automatyzacji w celu obejścia problemów podanych w tym artykule należy przywrócić poprzednie znaczniki pobierania. Nie będzie już konieczności używania konkretnej wersji.
Ograniczanie problemów z dyskretnymi awariami aplikacji 32-bitowych (objaw 4):
Zdecydowanie zalecamy zaktualizowanie hosta kontenera o aktualizację zabezpieczeń z 11 lutego 2020 r., zgodnie z powyższym opisem. Jeśli nie możesz zaktualizować hosta kontenera do aktualizacji zabezpieczeń z 11 lutego 2020 r., musisz ujednolicić wersję kompilacji i poprawki obrazu kontenera z wersją kompilacji i poprawki systemu operacyjnego hosta kontenera. Aby uzyskać instrukcje dotyczące sprawdzania wersji hosta kontenera, zobacz ten artykuł. Po ustaleniu wersji z hosta kontenera można pobrać wersję obrazu kontenera za pomocą następującego polecenia (w zależności od danego środowiska należy dostosować podstawowy obraz systemu operacyjnego Windows Server i wersję). Na przykład jeśli korzystasz z kontenera Windows Server Core:
docker pull mcr.microsoft.com/windows/servercore:<wersja danego hosta kontenera, na przykład 10.0.17763.1040>
Po ujednoliceniu wersji hosta kontenera i obrazu kontenera powinno być możliwe udane wprowadzanie poleceń dotyczących kontenera, takich jak run czy build.
Uwaga Zmianę znaczników pobierania lub automatyzacji zalecamy wyłącznie w przypadku napotkania problemów z dyskretnymi awariami aplikacji.
Odwołania
Na poniższej liście przedstawiono wersje systemu Windows Server, dla których są obsługiwane obrazy kontenerów, wraz z numerami wersji aktualizacji zabezpieczeń wydanych 14 stycznia 2020 r., 11 lutego 2020 r. i wydania wyłącznie w postaci obrazu kontenera z 18 lutego 2020 r. Poniższe obrazy kontenerów wydane 18 lutego 2020 r. zostaną automatycznie pobrane, jeśli nie określisz wersji w znacznikach przestawnych.
Wersja systemu Windows Server (znacznik przestawny) |
Wersja aktualizacji dla wydania z 14 stycznia 2020 r. |
Wersja aktualizacji dla wydania z 11 lutego 2020 r. |
Wersja aktualizacji dla wydania z 18 lutego 2020 r. |
Windows Server 2016 (ltsc2016) |
10.0.14393.3443 |
10.0.14393.3504 |
10.0.14393.3506 |
Windows Server, wersja 1803 (1803) |
10.0.17134.1246 |
10.0.17134.1304 |
10.0.17134.1305 |
Windows Server 2019 (ltsc2019) Windows Server, wersja 1809 (1809) |
10.0.17763.973 |
10.0.17763.1039 |
10.0.17763.1040 |
Windows Server, wersja 1903 (1903) |
10.0.18362.592 |
10.0.18362.657 |
10.0.18362.658 |
Windows Server, wersja 1909 (1909) |
10.0.18363.592 |
10.0.18363.657 |
10.0.18363.658 |
W przypadku używania obrazów maszyny wirtualnej platformy Azure Marketplace z kontenerami są teraz dostępne obrazy z lutego 2020 r. Nie powinny występować problemy ani powyższe symptomy w przypadku użycia tych obrazów. Aby uzyskać więcej informacji, zobacz KB4540981.
Aby uzyskać kompletną listę obrazów kontenerów systemu Windows, zobacz stronę Docker Hub tutaj.
Aby uzyskać więcej informacji na temat kontenerów systemu Windows Server, przejdź na stronę https://aka.ms/containers.