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.