为什么我来自Docker Hub的ubuntu映像随附4.19 Linux内核?

问题描述

我正在将Ubuntu 20.04 LTS映像用于各种docker容器,最近发现它们正在与4.19 linux内核一起运行。我有点好奇为什么它们没有像release notes中提到的那样使用linux内核5.4来运行。任何人都知道出了什么问题吗?

复制程序:

  • docker pull ubuntu:latest
  • docker运行ubuntu:latest bash
  • uname -r
  • cat / proc / version
  • cat / etc / os-release

结果:

uname -r 
4.19.76-linuxkit

cat /proc/version
Linux version 4.19.76-linuxkit (root@4abe09437d05) (gcc version 8.3.0 (Alpine 8.3.0)) #1 SMP Tue May 26 11:42:35 UTC 2020

cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

解决方法

没有错。 Docker容器使用主机内核-它们没有自己的内核。

现在,对于您而言,它显示4.19.76-linuxkit的事实表明您正在Windows或macOS上运行。他们显然没有底层Linux内核,因此docker实际上在具有轻量级Linux OS(linuxkit)的VM中运行。这就是您看到的内核版本。