虛擬機與容器技術架設網站

出自幸福奉學網
在2022年6月9日 (四) 18:00由Birdd對話 | 貢獻所做的修訂版本

(差異) ←上個修訂 | 最新修訂 (差異) | 下一修訂→ (差異)
跳轉到: 導覽搜尋

目錄

1.幸福奉學

1-1 請比較虛擬機與容器技術架設網站的差異。

2.幸福分享

2-1 Docker 是一種實現於作業系統層面的虛擬化技術

實現於硬體層級虛擬化的虛擬機,需要虛擬出整個硬體環境CPU、作業系統、Memory Size等等,並打包在VM Image中,而Docker是透過Docker Engine 來管理和配置映像(image)並產生容器(Container),而作業系統在Docker中也是透過一層層的映像檔來配置。

而上圖中的非 Linux 的 Host,為何還是需要一個Hypervisor? 因為 Docker 底層的容器隔離技術一開始是採用了Linux Kernel中的 命名空間(namespace)以及控制群組(control groups,CGroups)來實現的。

因此windows 用戶可以使用官方的 Docker Desktop來配置環境,或使用現有虛擬機直接安裝 Docker在上面,後者也是本系列文使用的環境配置。

2-2 Docker的優點

- 效能高、啟動速度快

- 部屬時間短:幾行指令就可啟用服務

- 移植時間短:Docker可降低程式之間的耦合性,可以將服務設定一次打包

- MB級、羽量級應用,十分省硬碟空間

假設現在要建構一個典型的 LAMP (Linux + Apache + MySQL + PHP)伺服器架構,一般作法就是分別安裝各自軟體和其依賴程式庫,安裝後再進行繁瑣的環境設定,調整其相容性,並進行聯合除錯,一大堆。

而Docker就是為了簡化這些服務的建構和設定,開發人員可建構一套用來開發的容器集合,開發完成後再透過 Docker 在任何實體、虛擬機中輕鬆移植部屬,提高整體效率。

結論:Docker在現今分散式系統中已經有著舉足輕重的地位,並且有著強大的社群力量加以輔佐,藉由許多開發者針對需求對Docker進行改進,並開發出解決這些問題的軟體,再使其開源或提交到Docker Hub上,優質的Docker應用再回饋到其他使用者身上,形成正向的技術生態圈。

3.幸福茶香

3-1


4.幸福彩虹

4-1