目录
一、疑问
有没有想过这样一个问题linux 内核版本查看,CentOS7系统版本的内核版本为3.x.xlinux 内核版本查看,Ubuntu18、CentOS8等系统版本的内核版本为4.x.x。那假如我是在CentOS8系统上运行Dockers容器(如CentOS7),运行的这个容器的内核版本会是多少呢?
二、解答
在上一篇文章《为什么运行一个CentOS容器的镜像只需200MB左右?》中提到,对于容器的镜像来说,底层直接使用宿主机的内核空间linux开源软件linux 发邮件,它只需提供用户空间rootfs文件系统即可。为此,Docker运行的容器的内核版本就是你宿主机(CentOS8)的内核版本。实践出真理,接出来我们实际测试一下。
1、查看宿主机系统版本及内核版本
[root@qcloud ~]# cat /etc/redhat-release
CentOS Linux release 8.3.2011
[root@qcloud ~]# uname -a
Linux qcloud 4.18.0-240.el8.x86_64 #1 SMP Fri Sep 25 19:48:47 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
2、在上述的宿主机上运行CentOS7容器并查看其内核版本
[root@qcloud ~]# docker run -it centos:7.9.2009
[root@74ecee4db934 /]# uname -a
Linux 74ecee4db934 4.18.0-240.el8.x86_64 #1 SMP Fri Sep 25 19:48:47 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
从测试结果可看出,运行的CentOS7容器的内核版本为4.18,证明对于容器的镜像来说,底层直接使用宿主机的内核空间这句话是完全没问题的。