关于docker容器是否使用镜像内Linux内核的洞见
docker容器是否使用镜像中内核;容器与虚拟机的区别
·
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的设置上来看,主机和容器所使用的内核也是共同的,也就在另外一个侧面,提供了本文观点的例证!
更多推荐
已为社区贡献3条内容
所有评论(0)