$(uname -a) возвращает то же самое в хосте докеров или в любом контейнере докеров

Почему $(uname -a) возвращает то же ядро ​​Linux, что и хост-компьютер внутри док-контейнера?

uname -a
#=> Linux leo 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

docker run -ti --rm ubuntu:vivid-20150611 uname -a
#=> Linux 147c3aff216b 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Несмотря на то, что мой хост-компьютер — Ubuntu 14.04 (надежный), а контейнер — Ubuntu 15.04 (яркий) и должен иметь ядро ​​​​3.19


person Leo Gallucci    schedule 23.06.2015    source источник


Ответы (2)


Docker использует ядро ​​операционной системы хоста, внутри контейнера нет кастомного или дополнительного ядра. Все контейнеры, работающие на машине, совместно используют это «хостовое» ядро.

Для получения дополнительной информации см. этот вопрос на сайте SuperUser.

person Community    schedule 23.06.2015

  • cat /etc/os-release, or
  • cat /etc/issue для CentOS

См. https://serverfault.com/a/805390/161568.

person Ioannis Filippidis    schedule 06.10.2017
comment
Работал, чтобы помочь разобраться с контейнером Debian. - person Randolph; 02.07.2018
comment
Более поздние версии CentOS, кажется, также заполняют /etc/os-release: docker run --rm centos sh -c 'cat /etc/os-release | grep -e "^NAME="' --› NAME="CentOS Linux" - person Raphael; 11.06.2020