Partilhar via


Atualizar contêineres para uma nova versão do sistema operacional Windows

Aplica-se a: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Este tópico descreve como atualizar contêineres do Windows para uma nova versão do sistema operacional Windows ou Windows Server. Há duas etapas para atualizar contêineres:

  1. Atualize o host do contêiner para a nova versão do sistema operacional.
  2. Crie novas instâncias de contêiner usando a nova versão do sistema operacional.

Observação

Se você só precisa atualizar (ou corrigir) sua imagem atual do contêiner do sistema operacional base do Windows, consulte atualizar seus contêineres obter a imagem de patch mais recente para seus contêineres.

Atualizar o host do contêiner

Para atualizar o host de contentor para uma versão mais recente do Windows ou do Windows Server, pode executar uma atualização no local ou uma instalação limpa. Como o host do contêiner e os contêineres do Windows compartilham um único kernel, você deve certificar-se de que a versão do sistema operacional da imagem base do contêiner corresponde à do host. No entanto, você ainda pode ter uma versão mais recente do host de contêiner com uma imagem base mais antiga com Hyper-V isolamento. No Windows Server 2022, você pode implementar esse cenário com isolamento de processo (na visualização).

Criar novas instâncias de contêiner usando a nova versão do sistema operacional

Para criar as novas instâncias de contêiner, você precisa:

  • Puxe a imagem base do contêiner
  • Edite o Dockerfile para apontar para a nova imagem base
  • Criar e executar a nova imagem do aplicativo
  • Marque e envie a imagem para o seu registro

Puxe a imagem base do contêiner

Depois de ter puxado a nova versão do sistema operacional Windows no host do contêiner, siga as etapas abaixo para atualizar a imagem base:

  1. Selecione a imagem base do contentor para a qual deseja efetuar a atualização.

  2. Abra uma sessão do PowerShell como administrador e, dependendo da versão do sistema operacional escolhida, execute o comando docker pull para extrair uma imagem:

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

    Este exemplo extrai a imagem base do Server Core versão 20H2.

  3. Quando o download da imagem terminar, você poderá verificar se a nova imagem foi puxada executando o comando docker images para retornar uma lista de imagens puxadas:

    docker images
    

Edite o Dockerfile para apontar para a nova imagem base

Em seguida, você deseja criar e iniciar novas instâncias de contêiner usando a nova imagem base que você extraiu. Para automatizar esse processo, edite o Dockerfile para redirecioná-lo para a nova imagem.

Observação

Se quiser atualizar a imagem de qualquer contentor que esteja em execução no momento, precisará parar os contentores usando docker stop e, em seguida, executar docker rm para remover os contentores.

Abra o Dockerfile em um editor de texto e faça as atualizações. No exemplo a seguir, o Dockerfile é atualizado para Server Core 20H2 com o aplicativo 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"]

Criar e executar a nova imagem do aplicativo

Depois que o Dockerfile for atualizado, você precisará criar e executar a imagem do aplicativo.

  1. Use docker build para construir a sua imagem, conforme mostrado abaixo:

    docker build -t iss .
    
  2. Para executar o contêiner recém-construído, execute o comando docker run:

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

Marque e envie a imagem para o seu registro

Para permitir que outros hosts reutilizem a nova imagem, você deve marcar e, em seguida, enviar a imagem do contêiner para o seu registro.

  1. Use docker tag para marcar a imagem da seguinte maneira:

    docker tag mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2022 <login-server>/iss
    
  2. Use docker push para enviar a imagem para o registo de contêineres da seguinte maneira:

    docker push <login-server> iss
    

Atualizar contentores usando um orquestrador

Você também pode reimplantar seus contêineres do Windows usando um orquestrador, como o Serviço Kubernetes do Azure e o AKS no Azure Stack HCI. O orquestrador fornece automação poderosa para fazer isso em escala. Para obter detalhes, consulte Tutorial: Atualizar um aplicativo no Serviço Kubernetes do Azure ou Tutorial: Atualizar um aplicativo no Serviço Kubernetes do Azure no Azure Stack HCI.