A execução de vários ubuntu (ou outra distro) dentro de contêineres do Docker no CoreOS, isso é eficiente?

2

Pelo que li, acredito que o CoreOS seja uma distribuição básica do Linux, que essencialmente facilita a execução de contêineres do Docker que contenham quaisquer aplicativos ou serviços que você precisar.

A partir da documentação do CoreOS , percebo que a intenção é que você separe a maioria de seus serviços em contêineres separados do Docker. que você pode dimensionar horizontalmente, permitindo que a frota gerencie o contêiner em vários nós.

Onde estou ficando um pouco confuso é quando você quer rodar um serviço que precisa de um userland linux específico (por exemplo, o apache rodando no Ubuntu ou no Fendora ou algo assim). Por exemplo, eu tenho um container com o Ubunutu e o apache rodando nele, e eu quero outro container rodando uma instância do Samba (também no Ubunutu), eu não estou efetivamente rodando 2 cópias do Ubuntu, com todas as despesas de rodar esses SO's? / p>

Eu acho que estou provavelmente entendendo mal o modo como os contêineres funcionam - se eu rodar o Ubuntu em um container, então presumivelmente eu estou compartilhando o kernel do CoreOS, e somente o "userland " parte do sistema operacional está" em execução "?

Então, pode ser que a pergunta seja: o kernel está executando a parte cara da execução de um sistema operacional? Então, quando você está executando máquinas virtuais, você está perdendo um monte de recursos, não apenas por ter que simular hardware, mas também executando múltiplos kernels?

    
por rgvcorley 29.01.2015 / 12:07

1 resposta

1

Sim, você está executando vários usuários, mas apenas um kernel, o que significa que o kernel tem uma visão completa de todo o gerenciamento de memória e pode dividi-lo com mais eficiência entre os contêineres em execução, com base nos compartilhamentos de CPU etc. Para o kernel, um contêiner é apenas outro processo que precisa de acesso ao hardware. Cada processo de contêiner apenas usa uma área de usuário específica, que é apenas uma pilha de arquivos com espaçamento de nome no disco quando se trata disso.

    
por 30.01.2015 / 19:45