docker中解耦和半解耦的区别是什么

网友投稿 1168 2022-10-10

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

docker中解耦和半解耦的区别是什么

docker中解耦和半解耦的区别是:同一个操作系统中运行相同的软件程序时,解耦会为每一个软件分配一个环境,使其独立运行,而半解耦会在一个环境下同时运行两个相同的软件,分担软件服务器的压力。

本教程操作环境:linux7.3系统、docker-1.13.1版、Dell G3电脑。

docker中解耦和半解耦的区别是什么

软件流程

想要了解解耦与半解耦,需要先知道一个应用启动的流程是什么。

USER通过shell(bash/zsh)发送指令给OS,

OS发送通知lib库准备好运行环境,

lib库准备好通知soft可以运行了,

soft进行操作将指令下发给device执行。

解耦

当我们在同一个操作系统中运行相同的软件程序时,它们会发生冲突。解除耦合则是为一个软件分配一个环境,使其独立运行。

例如手机里的应用分身,还有经常使用的VMware虚拟机也是使用这种方式

当我们想要同时运行多个web服务器时,需要创建两个操作系统,

从指定硬件层面(CPU、MEM、DISK)→安装内核→安装系统→安装lib库→安装device(驱动程序)→安装应用软件

半解耦

使得在同一个环境下可以同时运行两个相同的软件,分担软件服务器的压力。

直接使用物理机上的硬件资源(CPU、MEM、DISK)和kernel(内核)

例如:docker会直接使用系统镜像构建出一个容器,以文件夹的方式存放在操作系统上。

而容器内部的运行环境比如lib库将通过ln -s(软链接)的形式使用。

这样使得应用程序误以为一个文件夹就是一个操作系统。

推荐学习:《docker视频教程》

php入门到就业线上直播课:查看学习

上一篇:docker中arg和env的区别是什么
下一篇:centos virbr0是什么
相关文章

 发表评论

暂时没有评论,来抢沙发吧~