Containers upgraden naar een nieuwe versie van het Windows-besturingssysteem
Van toepassing op: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016
In dit onderwerp wordt beschreven hoe u Windows-containers kunt upgraden naar een nieuwe versie van het Windows- of Windows Server-besturingssysteem. Er zijn twee stappen voor het upgraden van containers:
- Werk de containerhost bij naar de nieuwe versie van het besturingssysteem.
- Maak nieuwe containerinstanties met behulp van de nieuwe versie van het besturingssysteem.
Notitie
Als u alleen (of patch) moet bijwerken in de basisbesturingssysteemcontainerafbeelding van Windows, zie dan uw containers bijwerken om de meest recente patchinstallatiekopie voor uw containers op te halen.
De containerhost upgraden
Als u de containerhost wilt upgraden naar een nieuwere Versie van Windows of Windows Server, kunt u een in-place upgrade of een schone installatie uitvoeren. Aangezien de containerhost en de Windows-containers één kernel delen, moet u ervoor zorgen dat de versie van het besturingssysteem van de basisinstallatiekopie van de container overeenkomt met die van de host. U kunt echter nog steeds een nieuwere versie van de containerhost hebben met een oudere basisimage en Hyper-V isolatie. In Windows Server 2022 kunt u dit scenario implementeren met procesisolatie (in preview).
Nieuwe containerinstanties maken met behulp van de nieuwe versie van het besturingssysteem
Als u de nieuwe containerinstanties wilt maken, moet u het volgende doen:
- De basiscontainerimage ophalen
- Bewerk het Dockerfile om naar de nieuwe basisimage te verwijzen.
- De nieuwe app-afbeelding bouwen en uitvoeren
- De image taggen en naar uw register pushen
De basisimage van de container ophalen
Nadat u de nieuwe versie van het Windows-besturingssysteem op de containerhost hebt opgehaald, volgt u de onderstaande stappen om de basisinstallatiekopie bij te werken:
Selecteer de container basisimage waarnaar u wilt upgraden.
Open een PowerShell-sessie als beheerder en voer, afhankelijk van de door u gekozen versie van het besturingssysteem, de docker pull- opdracht uit om een installatiekopie op te halen:
PS C:\> docker pull mcr.microsoft.com/windows/servercore:ltsc2022
In dit voorbeeld wordt de basisafbeelding van Server Core versie 20H2 opgehaald.
Wanneer de installatiekopie is gedownload, kunt u controleren of de nieuwe installatiekopie is opgehaald door de docker-installatiekopieën uit te voeren opdracht om een lijst met opgehaalde installatiekopieën te retourneren:
docker images
Bewerk Dockerfile om naar de nieuwe basisimage te verwijzen
Vervolgens wilt u nieuwe containereenheden maken en starten met de nieuwe basisimage die u hebt opgehaald. Om dit proces te automatiseren, bewerk de Dockerfile om naar de nieuwe image te verwijzen.
Notitie
Als u de afbeelding wilt upgraden voor een container die momenteel wordt uitgevoerd, moet u de containers stoppen met docker stop en vervolgens docker rm uitvoeren om de containers te verwijderen.
Open het Dockerfile in een teksteditor en breng de updates aan. In het volgende voorbeeld wordt het Dockerfile bijgewerkt naar Server Core 20H2 met de IIS-toepassing.
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"]
De nieuwe app-afbeelding bouwen en uitvoeren
Zodra de Dockerfile is bijgewerkt, moet u de app-image bouwen en uitvoeren.
Gebruik docker build om uw image te bouwen, zoals hieronder wordt weergegeven.
docker build -t iss .
Als u de zojuist gemaakte container wilt uitvoeren, voert u de docker-opdracht uit:
docker run -d -p 8080:80 --name iss-app iss
De afbeelding taggen en uploaden naar uw registry
Als u wilt toestaan dat andere hosts de nieuwe installatiekopieën opnieuw gebruiken, moet u de containerinstallatiekopieën taggen en vervolgens naar het register pushen.
Gebruik docker-tag om de afbeelding als volgt te taggen:
docker tag mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022 <login-server>/iss
Gebruik docker push om de image als volgt naar het containerregister te pushen:
docker push <login-server> iss
Containers upgraden met behulp van een orchestrator
U kunt uw Windows-containers ook opnieuw implementeren met behulp van een orchestrator, zoals Azure Kubernetes Service en AKS in Azure Stack HCI. De orchestrator biedt krachtige automatisering om dit op schaal te doen. Zie zelfstudie: Een toepassing bijwerken in Azure Kubernetes Service of Zelfstudie: Een toepassing bijwerken in Azure Kubernetes Service op Azure Stack HCI.