Uaktualnianie kontenerów do nowej wersji systemu operacyjnego Windows
Dotyczy: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016
W tym temacie opisano sposób uaktualniania kontenerów systemu Windows do nowej wersji systemu operacyjnego Windows lub Windows Server. Istnieją dwa kroki uaktualniania kontenerów:
- Uaktualnij hosta kontenera do nowej wersji systemu operacyjnego.
- Utwórz nowe wystąpienia kontenera przy użyciu nowej wersji systemu operacyjnego.
Notatka
Jeśli po prostu musisz zaktualizować (lub zastosować poprawkę) obraz bazowy kontenera systemu Windows, zobacz jak zaktualizować kontenery, aby ściągnąć najnowszy obraz poprawki dla kontenerów.
Uaktualnianie hosta kontenera
Aby uaktualnić hosta kontenera do nowszej wersji systemu Windows lub Windows Server, można przeprowadzić uaktualnienie w miejscu lub czystą instalację. Ponieważ host kontenera i kontenery systemu Windows współużytkują pojedyncze jądro, upewnij się, że wersja systemu operacyjnego podstawowego obrazu kontenera zgadza się z wersją hosta. Można jednak mieć nowszą wersję hosta kontenera ze starszym obrazem podstawowym z izolacją Hyper-V. W systemie Windows Server 2022 można zaimplementować ten scenariusz z izolacją procesów (w wersji zapoznawczej).
Tworzenie nowych wystąpień kontenera przy użyciu nowej wersji systemu operacyjnego
Aby utworzyć nowe wystąpienia kontenerów, należy wykonać następujące kroki:
- Pobierz obraz bazowy kontenera
- Edytowanie pliku Dockerfile w celu wskazania nowego obrazu podstawowego
- Kompilowanie i uruchamianie nowego obrazu aplikacji
- Zataga i wypchnij obraz do rejestru
Ściągnij obraz bazowy kontenera
Po pobraniu nowej wersji systemu operacyjnego Windows na hoście kontenera wykonaj poniższe kroki, aby uaktualnić obraz podstawowy:
Wybierz bazowy obraz kontenera , do którego chcesz dokonać aktualizacji.
Otwórz sesję programu PowerShell jako administrator i w zależności od wybranej wersji systemu operacyjnego uruchom polecenie docker pull, aby ściągnąć obraz:
PS C:\> docker pull mcr.microsoft.com/windows/servercore:ltsc2022
Ten przykład ściąga obraz podstawowy Server Core w wersji 20H2.
Po zakończeniu pobierania obrazu możesz sprawdzić, czy nowy obraz został pobrany, uruchamiając polecenie docker images, aby wyświetlić listę pobranych obrazów.
docker images
Edytowanie pliku Dockerfile w celu wskazania nowego obrazu podstawowego
Następnie chcesz utworzyć i uruchomić nowe wystąpienia kontenerów przy użyciu nowego, pobranego obrazu podstawowego. Aby zautomatyzować ten proces, zmodyfikuj plik Dockerfile, aby przekierować go do nowego obrazu.
Notatka
Jeśli chcesz uaktualnić obraz dla dowolnego kontenera, który jest aktualnie uruchomiony, musisz zatrzymać kontenery przy użyciu docker stop, a następnie uruchomić docker rm, aby usunąć kontenery.
Otwórz plik Dockerfile w edytorze tekstów i wprowadź aktualizacje. W poniższym przykładzie plik Dockerfile jest aktualizowany do serwera Server Core 20H2 za pomocą aplikacji usług IIS.
FROM mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022 AS build-env
WORKDIR /app
COPY *.csproj ./
RUN PowerShell Install-WindowsFeature NET-Framework-45-ASPNET
FROM mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["ServiceMonitor.exe", "w3svc"]
Kompilowanie i uruchamianie nowego obrazu aplikacji
Po zaktualizowaniu pliku Dockerfile należy skompilować i uruchomić obraz aplikacji.
Użyj docker build, aby zbudować obraz, jak pokazano niżej.
docker build -t iss .
Aby uruchomić nowo utworzony kontener, uruchom docker uruchom polecenie:
docker run -d -p 8080:80 --name iss-app iss
Oznacz i prześlij obraz do rejestru
Aby umożliwić innym hostom ponowne użycie nowego obrazu, należy otagować, a następnie przesłać obraz kontenera do rejestru.
Użyj tagu platformy Docker, aby otagować obraz w następujący sposób:
docker tag mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022 <login-server>/iss
Użyj docker push, aby wypchnąć obraz do rejestru kontenerów w następujący sposób:
docker push <login-server> iss
Uaktualnianie kontenerów przy użyciu orkiestratora
Możesz również ponownie wdrożyć kontenery systemu Windows przy użyciu orkiestratora, takiego jak usługa Azure Kubernetes Service i usługa AKS w usłudze Azure Stack HCI. Orkiestrator zapewnia zaawansowaną automatyzację w celu wykonywania tych czynności na dużą skalę. Aby uzyskać szczegółowe informacje, zobacz samouczek : aktualizowanie aplikacji w usłudze Azure Kubernetes Service lub Samouczek: aktualizowanie aplikacji w usłudze Azure Kubernetes Service w usłudze Azure Stack HCI.