Partager via


Mettre à niveau des conteneurs vers une nouvelle version du système d’exploitation Windows

S’applique à : Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Cette rubrique explique comment mettre à niveau des conteneurs Windows vers une nouvelle version du système d’exploitation Windows ou Windows Server. Il existe deux étapes pour mettre à niveau des conteneurs :

  1. Mettez à niveau l’hôte de conteneur vers la nouvelle version du système d’exploitation.
  2. Créez de nouvelles instances de conteneur à l’aide de la nouvelle version du système d’exploitation.

Note

Si vous devez simplement mettre à jour (ou appliquer un correctif) votre image de conteneur de système d’exploitation de base Windows actuelle, voir la mise à jour de vos conteneurs pour télécharger la dernière image de correctif pour vos conteneurs.

Mettre à niveau l’hôte de conteneur

Pour mettre à niveau l’hôte de conteneur vers une version plus récente de Windows ou Windows Server, vous pouvez effectuer une mise à niveau sur place ou une installation propre. Étant donné que l’hôte de conteneur et les conteneurs Windows partagent un noyau unique, vous devez vous assurer que la version du système d’exploitation d’image de base du conteneur correspond à celle de l’hôte. Toutefois, vous pouvez toujours disposer d'une version plus récente de l’hôte de conteneur avec une ancienne image de base avec Isolation Hyper-V. Dans Windows Server 2022, vous pouvez implémenter ce scénario avec l’isolation des processus (en préversion).

Créer de nouvelles instances de conteneur à l’aide de la nouvelle version du système d’exploitation

Pour créer les nouvelles instances de conteneur, vous devez :

  • Récupérer l'image de base du conteneur
  • Modifier le fichier Dockerfile pour qu’il pointe vers la nouvelle image de base
  • Générer et exécuter la nouvelle image d’application
  • Taguer et envoyer l'image à votre registre

Récupérer l'image de base du conteneur

Une fois que vous avez extrait la nouvelle version du système d’exploitation Windows sur l’hôte de conteneur, suivez les étapes ci-dessous pour mettre à niveau l’image de base :

  1. Sélectionnez l’image de base de conteneur vers laquelle vous souhaitez effectuer une mise à niveau.

  2. Ouvrez une session PowerShell en tant qu’administrateur et, selon la version du système d’exploitation que vous avez choisie, exécutez la commande docker pull pour extraire une image :

    PS C:\> docker pull mcr.microsoft.com/windows/servercore:ltsc2022
    

    Cet exemple extrait l’image de base Server Core version 20H2.

  3. Une fois l’image téléchargée, vous pouvez vérifier que la nouvelle image a été extraite en exécutant la commande images Docker pour renvoyer une liste d’images extraites :

    docker images
    

Modifier le fichier Dockerfile pour qu’il pointe vers la nouvelle image de base

Ensuite, vous souhaitez créer et démarrer de nouvelles instances de conteneur à l’aide de la nouvelle image de base que vous avez extraite. Pour automatiser ce processus, modifiez le fichier Dockerfile pour le rediriger vers la nouvelle image.

Note

Si vous souhaitez mettre à niveau l’image d’un conteneur en cours d’exécution, vous devez arrêter les conteneurs à l’aide de docker stop, puis exécuter docker rm pour supprimer les conteneurs.

Ouvrez le fichier Dockerfile dans un éditeur de texte et effectuez les mises à jour. Dans l’exemple suivant, le fichier Dockerfile est mis à jour vers Server Core 20H2 avec l’application 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"]

Générer et exécuter la nouvelle image d’application

Une fois le fichier Dockerfile mis à jour, vous devez générer et exécuter l’image de l’application.

  1. Utilisez de build Docker pour générer votre image, comme indiqué ci-dessous :

    docker build -t iss .
    
  2. Pour exécuter le nouveau conteneur, lancez la commande docker run :

    docker run -d -p 8080:80 --name iss-app iss
    

Baliser et envoyer (push) l’image vers votre registre

Pour permettre à d’autres hôtes de réutiliser la nouvelle image, vous devez baliser, puis envoyer (push) l’image conteneur à votre registre.

  1. Utilisez balise Docker pour baliser l’image comme suit :

    docker tag mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022 <login-server>/iss
    
  2. Utilisez docker push pour envoyer l’image au registre de conteneurs comme suit :

    docker push <login-server> iss
    

Mettre à niveau des conteneurs à l’aide d’un orchestrateur

Vous pouvez également redéployer vos conteneurs Windows à l’aide d’un orchestrateur, tel qu’Azure Kubernetes Service et AKS sur Azure Stack HCI. L’orchestrateur fournit une automatisation puissante pour ce faire à grande échelle. Pour plus d’informations, consultez Tutoriel : Mettre à jour une application dans Azure Kubernetes Service ou Tutoriel : Mettre à jour une application dans Azure Kubernetes Service sur Azure Stack HCI.