Por que a versão do kernel não corresponde à versão do Ubuntu em um contêiner Docker?

7

Eu tenho um contêiner Docker construído a partir do Ubuntu 14.10. Quando eu logar no contêiner para verificar a versão do Ubuntu e a versão do kernel, vejo o seguinte:

root@~$>> lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.10
Release:    14.10
Codename:   utopic   

root@~$>> uname -a
    Linux ambiata-aws 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Eu pensei que o Ubuntu 14.10 deveria ser a versão do kernel 3.16 (como declarado aqui ), então por que eu tenho versão do kernel 3.13.0-24-genérico?

A razão pela qual estou perguntando é porque há um patch no 3.13.0-29-generic que gostaria de ter (ou seja, ter fallocate trabalhando no AUFS no meu contêiner docker) que é discutido aqui .

    
por jcm 03.07.2015 / 06:55

1 resposta

5

De O que é o Docker? :

  

PESO LEVE

     

Contêineres em execução em uma única máquina compartilham o mesmo sistema operacional   núcleo; eles começam instantaneamente e usam menos memória RAM. Imagens são construídas   a partir de sistemas de arquivos em camadas e compartilhar arquivos comuns, tornando o uso do disco   downloads de imagens muito mais eficientes.

Os contêineres são executados no kernel do sistema operacional host. No seu caso, o host poderia ser um Ubuntu 14.04 (rodando o kernel original) ou um Ubuntu 12.04 (rodando o kernel da habilitação de hardware do hardware do hardware .

Se o host for o Ubuntu 14.04, você poderá instalar o kernel 3.16:

sudo apt-get install linux-generic-lts-utopic

Ou kernel 3.19:

sudo apt-get install linux-generic-lts-vivid

Para o Ubuntu 12.04, o kernel 3.13 é o mais recente oficial.

    
por Eric Carvalho 03.07.2015 / 11:59