以下圖為範例帶出幾個常用專名:
Docker Images
:用於創建 Docker 容器的模板。Docker Container
:獨立運行的一個或一組應用。Docker Client
:客戶端通過命令行或者其他工具使用 Docker APIDocker Daemon
守護進程:用戶端連接進程的過程,舉凡透過執行Docker Image、啟動容器或停止容器服務並提供Restful API
給管理者操作或顯示Docker容器等狀態訊息系列操作動作並返回結果。而在Docker 1.11之後Docker Daemon又拆解更多更細的元件服務如:containerd、docker-containerd-shim、docker-runc等,有興趣的可以透過自行深入研究。Docker Host
:底層可能是實體或虛擬機用於執行 Docker 守護進程和容器之用。Docker Registry
:用來儲存映像檔,可以想像是一個個各自獨立封裝代碼的倉庫。Docker Hub
:提供一世界公開分享取用的映像檔集區,當然依據會員帳戶權限的不同而有了專屬的私有倉庫之用。Docker Machine
:透過簡單的指令行即可在相應平台上安裝Docker 執行環境如:Linux 、MacOS 或WindowsNamespaces
命名空間:Control Group
:應用概述說明
公有雲 IaaS 平台資源利用
前述已經知道相較 VM 而言,這輕量的容器虛擬技術,從啟動、部署、升級與管理調用速度效率更高,除了沒有圖形化外,使用其實跟VM 的核心應用上並不大,故可以透過公有雲本身的特性優勢可能使用Ubuntu 等作業系統映像檔來創建容器,作為輕量 VM 使用更多的監視或測試服務之用。
應用服務使用
Docker 容器核心價值在於提供一套平台低耦合的標準化技術,把服務佈建、升級、更新等你所想到的動作,只需把各種服務定義並打包成標準貨櫃,就可以在任意能在有 Docker 的環境下運行,故如何能夠將您的商業服務流程透過程式碼表現並轉換成容器化而變成一個個已經定義關聯執行取用的服務即可,現代化程式也已經跟上CI/CD的浪潮,故也支援各公有雲PaaS模式的快速佈建或持續整合與持續部署,目前大多仍以網站呈現為多。
微服務的實踐
微服務架構將傳統單體式的應用系統服務拆分解耦合,進而形成一個個更為獨立極小的服務,服務與服務之間完全獨立,無論是因為效能需要提升,Debug,或運帷升級更新等需求都搭載應用在容器本身。
簡易場景範例以及企業典範
飛機小遊戲的實踐範例:
搭建飛機大戰小遊戲
雷亞遊戲借助Kubernetes,3人搞定百萬玩家App底層維運
大規模容器叢集實例
91APP 新零售新興系統要先容器化,再靠K8s實現IT微服務架構
91APP K8s新零售平台