Upgrade kontejnerů na novou verzi operačního systému Windows
Platí pro: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016
Toto téma popisuje, jak upgradovat kontejnery Windows na novou verzi operačního systému Windows nebo Windows Server. Pro upgrade kontejnerů existují dva kroky:
- Upgradujte hostitele kontejneru na novou verzi operačního systému.
- Vytvořte nové instance kontejneru pomocí nové verze operačního systému.
Poznámka
Pokud potřebujete pouze aktualizovat (nebo opravit) aktuální image základního operačního systému Windows, podívejte se, jak aktualizovat své kontejnery tak, abyste stáhli nejnovější image s opravami pro vaše kontejnery.
Upgrade hostitele kontejneru
Pokud chcete hostitele kontejneru upgradovat na novější verzi Windows nebo Windows Serveru, můžete provést místní upgrade nebo čistou instalaci. Vzhledem k tomu, že hostitel kontejneru a kontejnery Windows sdílejí jedno jádro, měli byste se ujistit, že verze základní image kontejneru odpovídá verzi operačního systému hostitele. Stále však můžete mít novější verzi kontejnerového hostitele se starším základním obrazem při izolaci Hyper-V. Ve Windows Serveru 2022 můžete tento scénář implementovat s izolací procesů (ve verzi Preview).
Vytvoření nových instancí kontejneru pomocí nové verze operačního systému
Pokud chcete vytvořit nové instance kontejneru, musíte:
- Stažení základního obrazu kontejneru
- Upravit soubor Dockerfile tak, aby odkazoval na nový základní obraz.
- Sestavení a spuštění image nové aplikace
- Označte a vložte obraz do vašeho registru
Stáhněte základní obraz kontejneru
Po přijetí nové verze operačního systému Windows na hostiteli kontejneru upgradujte základní image pomocí následujícího postupu:
Vyberte základní obraz kontejneru , na který chcete upgradovat.
Otevřete relaci PowerShellu jako správce a v závislosti na zvolené verzi operačního systému spusťte příkaz docker pull a stáhněte image:
PS C:\> docker pull mcr.microsoft.com/windows/servercore:ltsc2022
Tento příklad stahuje základní image Server Core verze 20H2.
Po dokončení stahování obrazu můžete ověřit, že se nový obraz načetl spuštěním příkazu docker images, který vrátí seznam stažených obrazů.
docker images
Úprava souboru Dockerfile tak, aby odkazoval na novou základní image
Dále chcete vytvořit a spustit nové instance kontejneru pomocí nové základní image, kterou jste natáhli. Pokud chcete tento proces automatizovat, upravte soubor Dockerfile a přesměrujte ho na novou image.
Poznámka
Pokud chcete upgradovat image pro jakýkoli kontejner, který je aktuálně spuštěný, budete muset zastavit kontejnery pomocí docker stop a potom spustit docker rm k odebrání kontejnerů.
Otevřete soubor Dockerfile v textovém editoru a proveďte aktualizace. V následujícím příkladu se soubor Dockerfile aktualizuje na Server Core 20H2 pomocí aplikace 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"]
Vytvořit a spustit nový obraz aplikace
Po aktualizaci souboru Dockerfile je potřeba sestavit a spustit image aplikace.
K sestavení image použijte docker build, jak je znázorněno níže:
docker build -t iss .
Pokud chcete spustit nově vytvořený kontejner, spusťte příkaz docker run:
docker run -d -p 8080:80 --name iss-app iss
Označit a přenést obraz do registru
Pokud chcete ostatním hostitelům povolit opakované použití nové image, měli byste image kontejneru označit a odeslat do registru.
Pomocí značky Dockeru označte image následujícím způsobem:
docker tag mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022 <login-server>/iss
Pomocí docker push odešlete image do registru kontejneru následujícím způsobem:
docker push <login-server> iss
Aktualizujte kontejnery pomocí orchestrátoru
Kontejnery Windows můžete také znovu nasadit pomocí orchestrátoru, jako je Azure Kubernetes Service a AKS ve službě Azure Stack HCI. Orchestrátor poskytuje výkonnou automatizaci pro tento postup ve velkém měřítku. Podrobnosti najdete v kurzu: Aktualizace aplikace ve službě Azure Kubernetes Service nebo kurz : Aktualizace aplikace ve službě Azure Kubernetes Service ve službě Azure Stack HCI.