Atualizar contêineres do Windows Server
Aplica-se a: Windows Server 2022, Windows Server 2019 e Windows Server 2016
Como parte do serviço do Windows Server a cada mês, publicamos imagens de contêiner atualizadas do sistema operacional base do Windows Server regularmente. Com essas atualizações, você pode automatizar a criação de imagens de contêiner atualizadas ou atualizá-las manualmente obtendo a versão mais recente. Os contêineres do Windows Server não têm uma pilha de manutenção como o Windows Server. Você não pode obter atualizações em um contêiner como faria com o Windows Server. Portanto, todos os meses recriamos as imagens de contêiner do sistema operacional base do Windows Server com as atualizações e publicamos as imagens de contêiner atualizadas.
Outras imagens de contêiner, como .NET ou IIS, serão recriadas com base nas imagens de contêiner do sistema operacional base atualizadas e publicadas mensalmente.
Como obter atualizações de contêiner do Windows Server
Atualizamos as imagens de contêiner do sistema operacional base do Windows Server em alinhamento com a cadência de serviço do Windows. As imagens de contêiner atualizadas são publicadas na segunda terça-feira de cada mês, às quais nos referimos como versão "B", com um número de prefixo com base no mês de lançamento. Por exemplo, chamamos nossa atualização de fevereiro de “2B” e nossa atualização de março de “3B”. Esse evento de atualização mensal é a única versão regular que inclui novas correções de segurança.
O servidor que hospeda esses contêineres, chamado host do contêiner ou apenas o “host”, pode ser atendido durante eventos de atualização adicionais diferentes das versões “B”. Para saber mais sobre a cadência de manutenção do Windows Update, consulte nossa postagem sobre cadência de manutenção do Windows Update no blog.
As novas imagens de contêiner do sistema operacional base do Windows Server entram em operação logo após as 10:00 PST na segunda terça-feira de cada mês no MCR (Registro de Contêiner da Microsoft) e as marcas em destaque visam a versão B mais recente. Veja a seguir alguns exemplos:
- ltsc2019 (LTSC): docker pull mcr.microsoft.com/windows/servercore:ltsc2019
- 1909 (SAC): docker pull mcr.microsoft.com/windows/servercore:1909
Se você estiver mais familiarizado com o Docker Hub do que com o MCR, esta postagem do blog fornecerá uma explicação mais detalhada.
Para cada versão, a respectiva imagem de contêiner também é publicada com duas marcas adicionais para o número de revisão e o número de artigo da Base de dados de conhecimento (KB) para direcionar revisões de imagem de contêiner específicas. Por exemplo:
- docker pull mcr.microsoft.com/windows/servercore:10.0.17763.1040
- docker pull mcr.microsoft.com/windows/servercore:1809-KB4546852
Esses exemplos efetuam pull da imagem de contêiner do Windows Server 2019 e do Server Core com a atualização de segurança de 18 de fevereiro.
Para obter uma lista completa das imagens de contêiner, versões e respectivas marcas do sistema operacional base do Windows Server, consulte os seguintes recursos no Docker Hub:
As imagens do Windows Server com serviço mensal lançadas no Azure Marketplace pela Microsoft também vêm com imagens de contêiner do sistema operacional base pré-instalado. Saiba mais em nossa página de preços do Windows Server no Azure Marketplace. Geralmente, atualizamos essas imagens cerca de cinco dias úteis após a versão “B”.
Para obter uma lista completa de imagens e versões do Windows Server, consulte a versão do Windows Server no histórico de atualização do Azure Marketplace.
Compatibilidade da versão do contêiner e do host
Há dois tipos de modos de isolamento para contêineres do Windows: Isolamento de processo e isolamento do Hyper-V. O isolamento do Hyper-V é mais flexível quando se trata da compatibilidade de versão do contêiner e do host. Para saber mais, consulte Compatibilidade de versão e Modos de isolamento. Esta seção se concentrará em contêineres isolados de processo, a menos que indicado de outra forma.
Quando você atualiza o host do contêiner ou a imagem de contêiner com as atualizações mensais, desde que a imagem de host e de contêiner seja suportada (Windows Server versão 1809 ou superior), as revisões de imagem de host e de contêiner não precisam corresponder ao contêiner para iniciar e executar normalmente.
No entanto, você poderá encontrar problemas ao usar contêineres do Windows Server com a versão de atualização de segurança de 11 de fevereiro de 2020 (também chamada de “2B”) ou versões de atualização de segurança mensal posteriores. Consulte este artigo do Suporte da Microsoft para obter mais detalhes. Esses problemas resultaram de uma alteração de segurança que exigia uma alteração na interface entre o modo de usuário e o modo kernel para garantir a segurança de seus aplicativos. Esses problemas ocorrem apenas em contêineres de processo isolado porque eles compartilham o modo kernel com o host do contêiner. Isso significa que as imagens de contêiner sem o componente de modo de usuário atualizado eram desprotegidas e incompatíveis com a nova interface de kernel protegida.
Lançamos uma correção a partir de 18 de fevereiro de 2020. Essa nova versão estabeleceu uma “nova linha de base”. Essa nova linha de base segue estas regras:
- Qualquer combinação de hosts e contêineres antes de 2B funcionará.
- Qualquer combinação de hosts e contêineres após 2B funcionará.
- Qualquer combinação de hosts e contêineres em diferentes lados da nova linha de base não funcionará. Por exemplo, um host 3B e um contêiner 1B não funcionarão.
Vamos usar a versão de atualização de segurança mensal de março de 2020 como um exemplo para mostrar como essas novas regras de compatibilidade funcionam. Na tabela a seguir, a versão de atualização de segurança de março de 2020 é chamada de “3B”, a atualização de fevereiro de 2020 de “2B” e a atualização de janeiro de 2020 de “1B”.
Host | Contêiner | Compatibilidade |
---|---|---|
3B | 3B | Sim |
3B | 2B | Sim |
3B | 1B ou anterior | Não |
2B | 3B | Sim |
2B | 2B | Sim |
2B | 1B ou anterior | Não |
1B ou anterior | 3B | Não |
1B ou anterior | 2B | Não |
1B ou anterior | 1B ou anterior | Sim |
Para referência, a tabela a seguir lista os números de versão das imagens de contêiner do sistema operacional base com as versões de atualização de segurança de 1B, 2B e 3B mensais em diferentes versões do sistema operacional do Windows Server 2016 para o Windows Server mais recente, a versão 1909.
Versão do Windows Server (marca flutuante) | Versão de atualização para a versão de 14/01/20 (1B) | Versão de atualização para a versão de 18/02/20 (2B) | Versão de atualização para a versão de 10/03/20 (3B) |
---|---|---|---|
Windows Server 2016 (ltsc2016) | 10.0.14393.3443 (KB4534271) | 10.0.14393.3506 (KB4546850) | 10.0.14393.3568 (KB4551573) |
Windows Server, versão 1803 (1803) | 10.0.17134.1246 (KB4534293) | 10.0.17134.1305 (KB4546851) | Esta versão atingiu o fim do suporte. Para obter mais informações, consulte Ciclos de vida de manutenção da imagem base. |
Windows Server, versão 1809 (1809) | 10.0.17763.973 (KB4534273) | 10.0.17763.1040 (KB4546852) | 10.0.17763.1098 (KB4538461) |
Windows Server 2019 (ltsc2019) | 10.0.17763.973 (KB4534273) | 10.0.17763.1040 (KB4546852) | 10.0.17763.1098 (KB4538461) |
Windows Server, versão 1903 (1903) | 10.0.18362.592 (KB4528760) | 10.0.18362.658 (KB4546853) | 10.0.18362.719 (KB4540673) |
Windows Server, versão 1909 (1909) | 10.0.18363.592 (KB4528760) | 10.0.18363.658 (KB4546853) | 10.0.18363.719 (KB4540673) |
Solucionar incompatibilidades de imagem de contêiner e host
Antes de começar, certifique-se de se familiarizar com as informações na Compatibilidade de versão. Essas informações ajudarão você a descobrir se o problema foi causado por patches incompatíveis. Se você estabeleceu a incompatibilidade de patches como a causa, você poderá seguir as instruções nesta seção para solucionar o problema.
Consultar a versão do host do contêiner
Se você puder acessar o host do contêiner, poderá executar o comando ver
para obter a versão do sistema operacional. Por exemplo, se você executar ver
em um sistema que executa o Windows Server 2019 com a versão mais recente de atualização de segurança de fevereiro de 2020, você verá:
Microsoft Windows [Version 10.0.17763.1039]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\>ver
Microsoft Windows [Version 10.0.17763.1039]
Observação
O número de revisão neste exemplo é exibido como 1039, não 1040, porque a versão de atualização de segurança de fevereiro de 2020 não tinha uma versão 2B fora da banda para o Windows Server. Havia apenas uma versão 2B fora da banda para contêineres, que tinha um número de revisão de 1040.
Se você não tiver acesso direto ao host do contêiner, verifique com seu administrador de TI. Se você estiver executando na nuvem, verifique o site do provedor de nuvem para descobrir qual versão do sistema operacional do host do contêiner está em execução. Por exemplo, se você estiver usando o AKS (Serviço de Kubernetes do Azure), poderá encontrar a versão do sistema operacional do host nas notas de versão do AKS.
Consultar a versão da imagem do contêiner
Siga estas instruções para descobrir qual versão seu contêiner está executando:
Execute o seguinte cmdlet no PowerShell:
docker images
A saída deve parecer com esta:
REPOSITORY TAG IMAGE ID CREATED SIZE mcr.microsoft.com/windows/servercore ltsc2019 b456290f487c 4 weeks ago 4.84GB mcr.microsoft.com/windows 1809 58229ca44fa7 4 weeks ago 12GB mcr.microsoft.com/windows/nanoserver 1809 f519d4f3a868 4 weeks ago 251M
Execute o comando
docker inspect
da ID da imagem do contêiner que não está funcionando. Com isso, você saberá qual é a versão de destino da imagem do contêiner.Por exemplo, digamos que executamos
run docker inspect
para uma imagem de contêiner ltsc 2019:docker inspect b456290f487c "Architecture": "amd64", "Os": "windows", "OsVersion": "10.0.17763.1039", "Size": 4841309825, "VirtualSize": 4841309825,
Neste exemplo, a versão do sistema operacional do contêiner é mostrada como
10.0.17763.1039
.Se você já estiver executando um contêiner, também poderá executar o comando
ver
dentro do próprio contêiner para obter a versão. Por exemplo, a execução dever
em uma imagem de contêiner do Server Core do Windows Server 2019 com a versão mais recente de atualização de segurança de fevereiro de 2020 mostrará isto:Microsoft Windows [Version 10.0.17763.1040] (c) 2020 Microsoft Corporation. All rights reserved. C:\>ver Microsoft Windows [Version 10.0.17763.1040]