Docker 虛擬化

效能更快、資源更省 Docker虛擬化技術簡介

2015-03-13
虛擬化風潮席捲全球,技術日益翻新,目前最受矚目的是Docker,其虛擬獨立環境內無須另外運行的作業系統核心及相關系統程,所以需動用到的系統資源大幅減少。本文將詳解Docker的運作原理,並說明如何手動為容器配置對外固定IP位址。
目前市面上最熱門的作業系統層級虛擬化技術非Docker莫屬,因為它不需要Hypervisor。Docker是由Linux作業系統核心所構築的虛擬獨立環境為基礎,而每個Docker的虛擬獨立環境中並不需要執行另外運行的作業系統核心、相關系統程式及驅動程式,只需要所運作應用系統的相關程式庫與相關應用程式即可。

因此可以想見,跟平台虛擬化技術Xen、KVM、Microsoft Hyper-V甚至VMware來相比,Docker所需的系統資源可說是少之又少,因為無須模擬轉譯硬體,所以同樣的硬體資源Docker可以執行得更快,因為不必執行額外的作業系統核心以及相關程式,所以同樣的硬體資源可以運作更多份Docker虛擬獨立環境。

不過,因為Docker是依附在Linux作業系統核心下的技術,所以Docker本身所建立的虛擬獨立環境就只能執行跟Linux相關的應用,這些應用可以是運作在不同的Linux發行版上的應用,只要在環境內這個應用本身相關的程式庫與程式具備即可。

如果是以CentOS為運行Docker的基礎作業系統,在Docker建立的虛擬獨立環境內,就可以執行Debian、Ubuntu或是Arch Linux等其他Linux發行版的應用程式。

安裝基礎作業系統

安裝Docker前需要先安裝一個基礎Linux作業系統,本文以CentOS最新的版本7為例,說明Docker的安裝與操作,CentOS 7有一個Minimal系統的版本,如圖1所示,選擇國家高速網路中心所提供的鏡像下載網站。


▲圖1 下載CentOS 7 Minimal映像檔。

這個版本無須網路下載額外軟體就可以安裝一個最小的CentOS環境,安裝的過程就不細述,安裝完成之後,系統大約占用821MB的硬碟空間,如圖2所示。


▲圖2 最小的CentOS環境所占空間。

因為安裝這個CentOS 7光碟之後,CentOS本身還要更新了不少軟體,所以安裝後可使用「yum upgrade」指令更新整個系統。由於更新中包含Linux系統核心,所以在更新完後使用指令「reboot」重新開機,以使用更新過的Linux系統核心。

安裝Docker

CentOS 7已經有收錄Docker軟體,在CentOS 7內安裝Docker只要執行「yum install docker」指令即可。安裝之後,因為CentOS 7開始改用systemd做為系統服務的管理程式,所以使用「rpm -ql docker」指令來查詢Docker在systemd中的服務名稱,如圖3所示。


▲圖3 Docker套件的檔案及在systemd中的系統服務名稱。

由圖3可以看到Docker的服務名稱為「docker.service」,接著使用指令「systemctl enable docker.service」來設定Docker服務在開機時自動啟動,如圖4所示。


▲圖4 設定Docker服務在開機時自動啟動。

從中可以發現,在systemd中設定開機時啟動,其實是在「/etc/systemd/system/multi-user.target.wants/」設定一個名稱為docker.service的符號連結(Symbolic Link)指向原本Docker軟體中的「/usr/lib/systemd/system/docker.service」。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!