Última atualização 10 de março de 2020 10:00 PST
Sintomas
Poderá ter problemas quando utilizar os contentores do Windows Server se o anfitrião ou a imagem do contentor tiver a atualização de segurança de 11 de fevereiro de 2020, a menos que o anfitrião do contentor do Windows e das imagens do contentor do Windows Server correspondam à atualização de segurança de 11 de fevereiro de 2020.
Os sintomas apresentados quando executa ou compila um contentor podem incluir:
-
Quando executar o comando "docker run" ou "docker build", poderá não receber a saída e poderá deixar de obter resposta.
-
O seu Contentor do Windows Server no Kubernetes não atinge o estado de "em execução".
-
Obtém o erro "docker: Resposta de erro do daemon: o contentor <id> encontrou um erro ao Iniciar: falha numa chamada do sistema Windows: a operação de espera excedeu o tempo limite. (0x102)."
-
A aplicação de 32 bits ou os processos em execução no contentor podem ter uma falha silenciosa.
Causa
Este problema resultou de uma alteração de segurança que exigia uma alteração da interface entre o modo de utilizador e o modo de kernel. Uma vez que os contentores isolados por processos partilham o modo de kernel com o anfitrião do contentor e as imagens do contentor, o componente do modo de utilizador sem a atualização era inseguro e incompatível com a nova interface de kernel segura.
Resolução e solução
Adicionámos nova documentação de orientação nas seções Compatibilidade da versão do contentor do Windows e Atualizar contentores do Windows Server do site Windows Docs. São também disponibilizados detalhes sobre a compatibilidade e a matriz da atualização. Para obter informações sobre problemas específicos listados neste artigo, consulte a resolução e mitigação abaixo.
Resolução de problemas de "não execução" e "aplicações de 32 bits com falhas silenciosas" (sintoma 1, 2, 3, 4):
No dia 18 de fevereiro de 2020, foram disponibilizadas imagens de contentor atualizadas para resolução de problemas com os sintomas (1, 2, 3, 4) apresentados neste artigo. Se tiver estes problemas, recomendamos que atualize o anfitrião do contentor para a versão da atualização de segurança de 11 de fevereiro de 2020 e as imagens de contentor disponibilizadas a 18 de fevereiro de 2020. Nota A versão de 18 de fevereiro de 2020 destina-se apenas a imagens de contentores. As atualizações de segurança de 11 de fevereiro de 2020 são as mais recentes para o anfitrião do contentor.
Para resolver o problema no seu ambiente, execute novamente o comando pull para atualizar as imagens do SO base do Windows Server ou a imagem de contentor aplicável, como IIS ou .NET, e execute novamente o pipeline de automatização para recriar os seus contentores utilizando as imagens de contentor com a imagem de contentor de 18 de fevereiro de 2020.
Importante Se alterou a automatização ou as tags do comando pull como solução para os problemas neste artigo, deve reverter as alterações para as tags anteriores do comando pull. Deverá deixar de ter de utilizar uma versão específica.
Mitigação para o problema "aplicações de 32 bits com falhas silenciosas (sintoma 4):
Recomendamos vivamente que atualize o anfitrião do contentor para a atualização de segurança de 11 de fevereiro de 2020, como descrito acima. Se não conseguir atualizar o anfitrião do contentor para as atualizações de segurança de 11 de fevereiro de 2020, terá de fazer corresponder a compilação e a versão de revisão da imagem do contentor com a compilação e a versão de revisão do sistema operativo do anfitrião do contentor. Para obter instruções sobre como verificar a versão do anfitrião do contentor, consulte este artigo. Depois de ter a versão do anfitrião do contentor, pode extrair a versão da imagem do contentor utilizando o seguinte comando (terá de ajustar a imagem do OS base do Windows Server e a imagem conforme o seu ambiente). Por exemplo, se estiver a utilizar o contentor Windows Server Core:
docker pull mcr.microsoft.com/windows/servercore:<versão do anfitrião do contentor, como 10.0.17763.1040>
Depois de as versões do anfitrião do contentor e da imagem do contentor corresponderem, deverá conseguir retomar os comandos do contentor, como run ou build.
Nota Apenas recomendamos a alteração da automatização ou das tags do comando pull se detetar aplicações com falhas silenciosas.
Referências
A lista abaixo mostra as versões do Windows Server cujas imagens de contentor são suportadas, juntamente com os números de versão para as atualizações de segurança disponibilizadas em 14 de janeiro de 2020 e 11 de fevereiro de 2020, e a versão apenas de imagem de contentor de 18 de fevereiro de 2020. As imagens do contentor disponibilizadas em 18 de fevereiro de 2020 listadas abaixo serão extraídas automaticamente se não especificar a versão nas tags flutuantes.
Versão do Windows Server (tag flutuante) |
Versão de atualização da versão de 14 de janeiro de 2020 |
Versão de atualização de 11 de fevereiro de 2020 |
Versão de atualização de 18 de fevereiro de 2020 |
Windows Server 2016 (ltsc2016) |
10.0.14393.3443 |
10.0.14393.3504 |
10.0.14393.3506 |
Windows Server, versão 1803 (1803) |
10.0.17134.1246 |
10.0.17134.1304 |
10.0.17134.1305 |
Windows Server 2019 (ltsc2019) Windows Server, versão 1809 (1809) |
10.0.17763.973 |
10.0.17763.1039 |
10.0.17763.1040 |
Windows Server, versão 1903 (1903) |
10.0.18362.592 |
10.0.18362.657 |
10.0.18362.658 |
Windows Server, versão 1909 (1909) |
10.0.18363.592 |
10.0.18363.657 |
10.0.18363.658 |
Se estiver a utilizar imagens de Máquina Virtual do Azure Marketplace com contentores, as imagens de fevereiro de 2020 estão agora disponíveis. Não deve ter os problemas ou sintomas acima quando utilizar estas imagens. Para obter mais informações, consulte KB4540981.
Para obter uma lista completa de imagens do contentor do Windows, consulte a página Docker Hub aqui.
Para obter informações mais detalhadas sobre contentores do Windows Server, consulte https://aka.ms/containers.