关于docker容器是否使用镜像内Linux内核的洞见

博客探讨了Docker容器的工作原理,指出容器并非使用镜像中的内核,而是利用宿主机的内核。通过分析ps和pstree,以及docker官网的比较,确认了容器在运行时依赖宿主机的内核资源。同时,文章举例说明,如需在容器中生成coredump,需要在宿主机上配置,并强调了容器对于宿主机内核的依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker提供了一种应用封装技术,和浅层的应用隔离技术,最近几年很是流行。

 

在我最开始使用docker的过程中,有一种怀疑,觉得docker启动容器后,容器运行起来后,使用的内核是镜像中提供的linux内核。不然,无法解释大家都追求使用新的内核镜像的现象,既要使用新的依赖库,例如,glibc、python等,也要使用新的内核特性。

但,随着对docker逐渐的了解,ps\pstree的查验、分析,和看到docker官网上对比容器和虚拟机的图,我突然洞见,明白了:docker容器运行时并不提供内核的资源,更多的是业务APP运行的环境依赖和资源上的隔离,其内核其实还是使用宿主机的内核

或者,换一种说法,假如您的业务APP依赖某种内核提供的接口,那么就需要详细的检查和确认宿主机提供的基础服务,或也可以考虑虚拟机的部署方式了。。。

docker容器与虚拟机区别https://www.docker.com/resources/what-container/

支持证据V2.0


如果你想让容器在遇到崩溃异常时,产生coredump文件,那么就需要在主机上设置ulimit环境变量和core_pattern内核参数;且core_pattern指定的路径,容器也需要能够访问到。

从主机和容器产生coredump的设置上来看,主机和容器所使用的内核也是共同的,也就在另外一个侧面,提供了本文观点的例证!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值