Última atualização 10 de março de 2020 10:00am PST
Sintomas
Poderá encontrar problemas ao utilizar contentores Windows Server se o anfitrião ou imagem de contentor tiver a atualização de segurança de 11 de fevereiro de 2020, a menos que o anfitrião de contentores do Windows e Windows Server imagens de contentor correspondam à atualização de segurança de 11 de fevereiro de 2020.
Os sintomas ao executar ou construir um contentor podem incluir:
- Quando executa o comando "docker run" ou "docker build" poderá não receber saída e esta poderá deixar de responder.
- Seu contêiner Windows Server no Kubernetes não atinge o estado "em execução".
- Recebe o erro "docker: Error response from daemon: container <id> encountered an error during Start: failure in a Windows system call: The wait operation timed out. (0x102)."
- A sua aplicação de 32 bits ou os processos em execução no contentor podem falhar silenciosamente.
Causa
Este problema foi o resultado de uma alteração de segurança que exigiu uma alteração de interface entre o modo de utilizador e o modo de kernel. Como os contêineres isolados do processo compartilham o modo kernel com o host do contêiner e as imagens do contêiner, o componente do modo do usuário sem a atualização era incompatível e não seguro com a nova interface segura do kernel.
Resolução e solução alternativa
Adicionámos novas orientações de atualização no site Windows Container Docs nas secções de compatibilidade de versões de contentores do Windows e Update Windows Server containers. Isto também inclui detalhes sobre a compatibilidade de atualizações e a matriz. Para obter informações sobre os problemas específicos listados neste artigo, consulte a resolução e mitigação abaixo.
Resolução para problemas de "não em execução" e de "aplicações de 32 bits com falhas silenciosas" (sintoma 1, 2, 3, 4):
Em 18 de fevereiro de 2020, imagens de contêiner atualizadas foram lançadas para abordar os problemas com sintomas (1,2,3,4) neste artigo. Se estiver a encontrar estes problemas, recomendamos que atualize o seu anfitrião de contentores para a versão de atualização de segurança de 11 de fevereiro de 2020 e as imagens de contentor disponibilizadas a 18 de fevereiro de 2020. Observação A versão de 18 de fevereiro de 2020 destina-se apenas a imagens de contentor. As atualizações de segurança de 11 de fevereiro de 2020 ainda são as mais recentes para o anfitrião de contentores.
Para resolver o problema em seu ambiente, execute novamente o comando pull para atualizar Windows Server imagens do sistema operacional base ou a imagem de contêiner aplicável, como IIS ou .NET, e execute novamente o pipeline de automação para reconstruir seus contêineres usando as imagens de contêiner com a imagem de contêiner de 18 de fevereiro de 2020.
Importante Se você alterou suas pull tags ou automação como uma solução alternativa para os problemas neste artigo, você deve reverter suas alterações para suas pull tags anteriores. Já não deverá ser necessário 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, conforme 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 versão de compilação e revisão da imagem do contentor com a versão de compilação e revisão do sistema operativo do seu sistema operativo anfitrião do contentor. Para obter instruções sobre como verificar a versão do seu anfitrião de contentores, consulte este artigo. Depois de ter a versão do seu host de contêiner, você pode extrair a versão da imagem do contêiner usando o seguinte comando (você precisará ajustar a imagem Windows Server do sistema operacional base e a versão conforme se aplica ao seu ambiente). Por exemplo, se estiver a utilizar Windows Server contentor Core:
docker pull mcr.microsoft.com/windows/servercore:<version your container host, such as 10.0.17763.1040>
Depois que as versões de host de contêiner e imagem de contêiner corresponderem, você deverá ser capaz de retomar seus comandos de contêiner, como executar ou compilar.
Observação Só recomendamos que altere as suas pull tags ou automatização se encontrar aplicações que falham silenciosamente.
Referências
A lista abaixo mostra as versões de Windows Server para as quais damos suporte a imagens de contêiner, juntamente com os números de versão para as atualizações de segurança lançadas em 14 de janeiro de 2020 e 11 de fevereiro de 2020 e o lançamento de imagem de contêiner apenas em 18 de fevereiro de 2020. As imagens de contêiner lançadas em 18 de fevereiro de 2020 listadas abaixo serão extraídas automaticamente se você não especificar a versão em suas tags flutuantes.
| Versão do Windows Server (etiqueta flutuante) | Versão de atualização para a versão de 14 de janeiro de 2020 | Versão de atualização para 11 de fevereiro de 2020 | Versão de atualização para 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 da Máquina Virtual do Azure Marketplace com contentores, as imagens de fevereiro de 2020 já estão disponíveis. Você não deve encontrar os problemas ou sintomas acima usando essas imagens. Para obter mais informações, consulte KB4540981.
Para obter uma lista completa da imagem de contêiner do Windows, consulte a página de Docker Hub aqui.
Para obter informações mais detalhadas sobre Windows Server contentores, consulte https://aka.ms/containers.