Que parte da imagem do Docker define seu sistema operacional?

2

De acordo com meu entendimento dos sistemas operacionais, o kernel do sistema operacional é o que define sua identidade como um sistema operacional. Mas o contêiner docker não possui um kernel próprio. Ele usa o kernel do sistema operacional host.

Então, minha pergunta é, quando eu digo que estou rodando um repositório do Debian, o que exatamente faz dele o Debian, além do repositório que ele usa? Ou suponha que eu tenha dois contêineres. Um é o Debian e o outro é, digamos, o Ubuntu. Agora, o que exatamente é que os diferencia além do repo?

    
por 7_R3X 26.07.2018 / 08:24

2 respostas

1

Uma distribuição do Linux não é seu kernel. Um kernel é necessário, mas uma distribuição funciona em um kernel.

Uma distribuição é simplesmente isso, uma forma particular de distribuir todos os pacotes necessários para criar um sistema em funcionamento.

Geralmente, isso inclui um gerenciador de pacotes e locais específicos dos quais os pacotes são recuperados.

Como existem muitas maneiras de montar um sistema de trabalho, cada distribuição faz escolhas sobre os pacotes básicos necessários. Uma distribuição pode optar por usar basePackage v1.1 enquanto outra usa packageBase v7.8 . Pode ser que os dois pacotes forneçam amplamente a mesma funcionalidade, mas trabalhem de uma maneira sutilmente diferente, o que significa que outras partes do sistema precisam de ajustes ou configurações para trabalhar com eles.

Também pode haver diferenças sutis nos arquivos de configuração ou nos layouts do sistema de arquivos.

Dessa forma, uma distribuição é construída, fazendo escolhas sobre pacotes, mesclando-os, massageando para ajustá-los e, geralmente, estabelecendo um conjunto básico de pacotes de suporte que podem ser esperados em todos os sistemas.

Em teoria você poderia compilar um kernel completamente genérico com cada módulo habilitado e depois soltá-lo em qualquer distribuição. Contanto que o kernel forneça os recursos corretos exigidos pelos pacotes, ele deve funcionar. Na prática, é muito mais difícil, pois os pacotes de sistema requerem recursos específicos do kernel e podem não funcionar se forem alterados, o que acontece com frequência com o kernel do Linux, mas a teoria existe.

O que faz de uma contêiner do Docker uma distribuição sobre a outra é a mesma. É como a distribuição dentro dele é vinculada e configurada.

    
por 26.07.2018 / 08:59
0

as imagens dos contêineres não são VM'S pelo menos não no caso da janela de encaixe

eles compartilham o kernel do host de modo que o sistema operacional do container seja mais um fator utilitário / de pacotes (apt / yum) do que qualquer outra coisa.

existem abstrações onde você pode obter um próprio kernel em um contêiner, mas que saiu da iniciativa clear container que roda um kvm light

rkt para exemplo pode rodar isso como estágio 1 e dar mais VM como isolar

    
por 26.07.2018 / 08:41