Sdílet prostřednictvím


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:

  1. Upgradujte hostitele kontejneru na novou verzi operačního systému.
  2. 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:

  1. Vyberte základní obraz kontejneru , na který chcete upgradovat.

  2. 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.

  3. 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.

  1. K sestavení image použijte docker build, jak je znázorněno níže:

    docker build -t iss .
    
  2. 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.

  1. 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
    
  2. 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.