在docker中,宿主機也就是“Docker_Host”,是Docker的整體架構之一,可以是實體機也可以是虛擬機,在宿主機上跑著一個dockers服務,使用“docker daemon ”可以實現對docker物件生命週期管理。
本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。
Docker 一定程度上可以將其想像一個更輕量的電腦,有自己私有化的作業系統,網絡,獨立的記憶體。並且其提供了足夠強的封裝能力。同貨櫃類比,我們在一個空間內封裝好了一切。宿主機就是拉箱子的船,一個封裝好的貨櫃就是一個獨立的存在,可以做到地下的船隨意換,而箱子內容不變。正式Docker 有了這種能力,在我們安裝服務的時候避免對宿主機繁瑣的配置,就可以將一個軟體運作起來。以前我們開發一個java程序,宿主機必須提供jre 環境。如果沒有這個環境,不好意思該程式無法執行,有了容器後這些就簡單了。拉取一個鏡像,然後運行起來,結束。
Docker 的整體架構分為三個部分,Clint,Docker_Host,Registey:
Clinet:和前文中提到的一致,就是命令列的操作介面,透過其使用Api 接口,完成和Doceker daemon 的通訊。
Docker_Host: Docker 的宿主機,可以是實體機,也可以是虛擬機,上面跑著一個dockers 服務,我們使用 docker daemon 實現對docker 物件生命週期管理。
Registey: docker registry 嚴格意義它不屬於docker中,他是另外的一個倉庫服務,是docker 鏡像的儲存中心,docker 的官方倉庫為docker hub,也之處我們自己創建。為了方便在開發團隊中我們會維護一個倉庫,這個倉庫我們通常會使用 harbor 來實現。
在 Docekr 中有一個核心就是 Docker Engine,這是什麼呢?就簡單的將其理解為一個C/S服務吧,更通俗的講就是個軟體。整體架構圖如下:
在這裡對其核心的部分概念進行簡單的介紹,沒有提及的內容,過於相比較複雜,在後文中再進行進行詳細描述:
Server:整個結構最核心的部分,指令的真實執行者,裡面住著 docker daemon,簡單的說就是一個守護docker守護進程,長期的運作著,常駐記憶體中,負責創建和管理dockers 對象,例如:image,containers,network和volume。在Linux 中可以找到一個叫 dockerd 的進程就是它。
Rest Api: 正如它的名字就是一個對外提供的接口,利用這些接口可以實現對 docker 服務的調用執行,完成和 daemon 通信。
Client: 最外層的命令列介面(CLI)。
推薦學習:《docker影片教學》
以上是docker中什麼是宿主機的詳細內容。更多資訊請關注PHP中文網其他相關文章!