Windows-native Docker Engine - Nativo? | LuizCarlosFaria .NET
Primeiro, é importante ressaltar que se fosse de fato possível rodar Linux Containers no Windows, sem virtualização, deveríamos ter um anúncio do tamanho do anúncio da chegada do home à lua. Ok, estou exagerando, mas é importante compreender a dimensão do que seria, definitivamente seria algo incrivelmente fantástico. E por que? Porque mesmo com os esforços no desenvolvimento do Windows Subsystem for Linux, as features do Kernel do Linux exigidas pelo Docker estão a anos de distância na timeline de desenvolvimento do Windows Subsystem for Linux.
Hoje conseguimos rodar muita coisa, no WSL, mas Docker não, mais especificamente dockerd não. Com as mudanças e revisões nas abstrações na infraestrutura do dockerd, temos abaixo dele, containerd, e runC, elementos que no passado eram parte do dockerd. A cada evolução no docker, vemos o dockerd ficando cada vez mais agnóstico, e outros elementos vão assumindo papéis que outrora eram do dockerd.
Então, o que vem a ser esse suporte Nativo a Linux Containers? A resposta é simples e é muito interessante. Trata-se de uma revisão sobre o Hyper-v, criando uma paravirtualização thin, algo intermediário entre virtualização de kernel, e paravirtualização, permitindo continuar usando a infraestrutura do hyper-v, mas com um stack muito mais enxuto, feito para rodar apenas o kernel em uma vm, da forma mais enxuta possível. O texto abaixo ajuda na compreensão:
Once Windows Server 2016 is running, log in, run Windows Update (use sconfig on Windows Server Core) to ensure all the latest updates are installed and install the Windows-native Docker Engine (that is, don't use "Docker for Windows"). There are two options: Install using a Powershell Package (recommended) or with DSC. [referência]
A imagem abaixo apresenta novos elementos como HCS e GCS eles são responsáveis por colaborar com o hyper-v a ponto de viabilizar a criação de um stack reduzido de virtualização. Isso significa que ao invés de um stack completo, complexo e lento de ser provisionado, temos algo instantâneo.