赞
踩
有没有想过这样一个问题,CentOS 7 系统版本的内核版本为 3.x.x,Ubuntu 18、CentOS 8 等系统版本的内核版本为 4.x.x。那如果我是在 CentOS 8 系统上运行 Dockers 容器(如 CentOS 7 ),运行的这个容器的内核版本会是多少呢?
在上一篇文章《为什么运行一个 CentOS 容器的镜像只需 200MB 左右?》中讲到,对于容器的镜像来说,底层直接使用宿主机的内核空间,它只需提供用户空间 rootfs 文件系统即可。因此,Docker 运行的容器的内核版本就是你宿主机(CentOS 8)的内核版本。实践出真理,接下来我们实际测试一下。
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、在上述的宿主机上运行 CentOS 7 容器并查看其内核版本
[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
从测试结果可看出,运行的 CentOS 7 容器的内核版本为 4.18,证明对于容器的镜像来说,底层直接使用宿主机的内核空间
这句话是完全没问题的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。