早在 2014 年,我們便已介紹了當時仍未興起的 Docker;經過差不多一年的時間,Docker 已由最初的 Linux 平台發展到Mac、Windows 以及各大公有雲端平台上;而為了再次更新我們的教學內容,近日筆者亦正忙於研究;開源平台就有一種好處,那就是開發/更新速度快,只是一年,已有很大的變化,所以亦辛苦了我們一群義工。其實上年我已向大家介紹了 Container (容器) 以及 Docker 是甚麼,為了節省時間,以下內容便直接套用上年的文章,請大家不要介意。
虛擬化相關產品,大家一定有使用過,通過虛擬化可增加系統整體靈活性,例如還原、轉移、擴展性等等(總之好處頗多~),因此現時幾乎擁有自家伺服器的企業均大部份有採用;不過傳統的虛擬化,例如 VM 等,由於需要用戶先安裝系統,然後才可於系統之中安裝軟件/應用/服務,其實某程度上整個安裝的過程都需要花上一定時間,而且假如我只是在 VM 之中運行單一服務/應用的話,仍需先安裝整個系統(如 Windows、CentOS 等等)才可,的確比較麻煩。
其情況就好像我需要於 Mac 機之中執行 PC 遊戲;以往我可能需要先於 Mac 機之中透過虛擬化平台如 VMware 安裝好 Windows 系統,然後才可安裝 PC 遊戲一樣;然而我們的目的只是希望能於不同系統之中執行 PC 遊戲,其實最好當然是無需先安裝 Windows 系統就可進行。
Docker…… 令我想起久違了的 Wine
而 Docker 就是一種能做到筆者上述所提及的;其實除了 Docker,多年前亦曾出現過一種名為 Wine 的產物,雖多年未接觸過,但就筆者所知,Wine 仍然活躍於 Mac 及 Linux 之中,其主要原因是通過 Wine,用戶可在無需重新安裝整個 Windows 系統的前題下,直接於 Linux、Mac 之中安裝及執行部份 PC 遊戲或程式;當然 Docker 與 Wine 是不一樣的技術,只是提到 Docker 這一類 Container 物體,突然令筆者想起當年 Wine 剛剛面世時的心情而已:)
輕量化的虛擬技術
傳統的虛擬化往往都需要整個系統安裝好以後才可於系統之中再安裝不同應用;而 Docker 其實本身採用了 Linux Container 技術,因此能讓你在無需安裝系統的情況下,直接針對不同的應用部署獨立的 Docker,亦即是說只針對應用本身進行虛擬化,而非傳統方式;這樣做的話,便可讓你於一般的伺服器之中亦可流暢地安裝多個虛擬化應用。
完善 Apps 平台
生態系統對於產品本身的成功十分重要,你看蘋果、Samsung 便正正懂得打做其生態系統;在 Docker 之中亦提供了 Docker Hub 平台,並讓用戶將自行 Docker 化的成品上傳到平台之中分享,同時亦可讓用戶直接 pull 由官方或他人製作好的影像檔直接安裝及使用。
網絡巨人全力支持
現時 Docker 已被多家知名的企業使用,例如線上聽歌程式 Spotify 便採用了 Docker,而 Google 更表明將會與 Docker 作更緊密的合作,並指 Docker 的開發理念與其十分相似;然而 Docker 單獨應用之中仍未支援傳統 VM 所提供到的 failover 等功能,現時如果用戶需要進行 failover,便需借助其他方法。
接下來我們將會為大家介紹更多 Docker 的應用方法,而經過一年多的時間,今次我們將會作出更深入的介紹,請多多支持!
待續…
Container 概念下的產物:2015 年再談 Docker 是甚麼?
https://www.facebook.com/hkitblog