赞
踩
我们都知道,运行的容器就是一个独立的Linux进程,当通过docker run 指令运行一个Docker容器时,首先找到镜像文件,然后根据镜像的配置信息,创建一个新的运行时容器。
本文来详细分析一下镜像、容器和Linux系统之间的具体关系。
由于容器比较特殊,它既是一个特殊的Linux的进程,又保持封闭和独立。在分析之前,我们需要先总结一下linux的内核空间、用户空间、bootfs、rootfs的相关知识:
理解了kernal、rootfs、用户空间的概念和关系,我们再来介绍容器镜像、容器运行时的用户空间以及操作系统内核之间的关系:
容器镜像确实是容器构建rootfs和用户空间的基础。容器复用了Linux内核,这意味所有容器共享内核,从而节省了空间。同时,容器的独立用户空间挂载的rootfs与Linux内核交互,这使得容器的镜像无需关注Linux内核的版本。
此外,容器通过提供镜像构建的rootfs和用户空间,保持了容器的独立性和安全性。每个容器都有自己的文件系统和用户空间,可以运行不同操作系统版本的rootfs和用户空间,而不会相互干扰。同时,由于容器与底层主机系统隔离,因此容器提供了一定程度的安全性。
容器镜像是容器构建rootfs和用户空间的基础,容器是镜像的运行态。容器复用Linux内核,通过容器独立用户空间挂载的rootfs与Linux内核交互,这样既使得容器的镜像无需关注Linux内核的版本,又节省了空间,同时容器通过提供镜像构建的rootfs和用户空间又保持了容器的独立性和安全性。
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
更多云计算相关方面的介绍请参考《云计算与公有云服务》专栏的介绍。
前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。
对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。
如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。