Crie uma imagem do Windows 10 para uso como um contêiner docker

5

Estou tentando criar uma imagem do Windows 10 para fazer o dockerize de um aplicativo legado existente. Por boas razões, a imagem de base tem que ser Windows 10 não Windows Server. Como faço para fazer isso?

O que eu tinha em mente era:

1) Crie minha instalação Windows vanilla como uma máquina Hyper-V

2) Instale o aplicativo nele

3) Encerre esta VM

4) Converta o VHDX resultante em um arquivo de Imagem do Windows (WIM)

5) De alguma forma, use isso como a imagem de base para o docker

Estou no caminho certo?

    
por Calanus 20.08.2016 / 10:07

1 resposta

2

Não, isso não funcionará.

Contêineres do Windows (isso é o mesmo que os contêineres do Docker no Linux) basicamente contêm a parte "user-space" do Windows, mas compartilham o kernel do servidor Windows subjacente único.

Acho que uma maneira conveniente de pensar nisso é que cada contêiner é como uma conta de usuário separada separada no Windows. Você pode ter várias contas de usuário, e cada uma tem seu próprio conjunto de arquivos, e cada uma delas está separada de cada uma, mas elas ainda estão ligadas diretamente ao SO subjacente, e todas rodando no mesmo kernel compartilhado.

Isso é ótimo, pois com um único kernel compartilhado não precisamos de virtualização de hardware na CPU ou no nível de memória para que as coisas possam ser muito mais eficientes.

No entanto, seguindo esse design, a interface do usuário do Windows 10 e todas essas coisas não foram projetadas para funcionar com o kernel do Windows Server 2016. Eles podem funcionar por co-incidência, mas não é provável.

Além disso, você não pode simplesmente pegar um VHD / WIM ou outro tipo de imagem e dizer "esse é meu contêiner". Você precisa começar com uma "imagem de base", que é efetivamente uma representação do seu sistema operacional principal e, em seguida, aplicar as alterações conforme necessário. Eu não consigo imaginar tentando descobrir o conjunto de alterações necessárias para obter um servidor windows base e transformá-lo no windows 10.

    
por 27.09.2016 / 03:17