docker中解耦和半解耦的區別是什么

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中解耦和半解耦的區別是什么

推薦學習:《docker視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享