Чому версія ядра не відповідає версії Ubuntu в контейнері Docker?


11

У мене є контейнер Docker, побудований з Ubuntu 14.10. Коли я входжу в контейнер, щоб перевірити версію Ubuntu та версію ядра, я бачу наступне:

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

Я думав, що Ubuntu 14.10 повинна бути версією ядра 3.16 (як зазначено тут ), то чому я маю версію ядра 3.13.0-24-generic?

Причина Я питаю, тому що є патч в 3.13.0-29-родової , що я хотів би мати (тобто, маючи fallocate роботи на AUFS в моєму Docker контейнері) , який обговорюється тут .


Чи працює контейнер на Ubuntu Trusty? Якщо так, то саме тому.
saiarcot895

Відповіді:


12

З чого таке Докер? :

СВІТЛО

Контейнери, що працюють на одній машині, мають одне ядро ​​операційної системи; вони починаються миттєво і використовують менше оперативної пам’яті. Зображення побудовані з багатошарових файлових систем та мають спільні файли, що робить використання диска та завантаження зображень набагато ефективнішими.

Контейнери працюють на хості ядра ОС. У вашому випадку хостом може бути Ubuntu 14.04 (працює з оригінальним ядром) або Ubuntu 12.04 (працює ядро ​​з надійного стеку апаратних можливостей ).

Якщо хостом є Ubuntu 14.04, ви можете встановити ядро ​​3.16:

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

Або ядро ​​3.19:

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

Для Ubuntu 12.04 ядро ​​3.13 є останнім офіційним.


Ви маєте на увазі, що мені доведеться оновити ядро ​​хоста? Немає можливості просто оновити ядро ​​контейнера?
jcm

5
@jcm У контейнері немає ядра. Навіть якщо ви встановите ядро, воно не завантажується при запуску контейнера. Сама мета контейнера - ізолювати процеси без необхідності запуску нового ядра. Ось чому контейнери обмежені для Linux. Якщо вам потрібно запустити іншу ОС або іншу версію ядра, вам слід скористатися віртуалізацією.
Ерік Карвальо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.