過去幾天我們已經大致把 Docker 的一些基本概念及技巧,有興趣的朋友們可以再多深入研究,還有哪裡比較不懂的也可以參照 Docker 官方的 Documentation,有任何問題都能夠在裡面找到。
在 Docker 問世之後,它打包應用程式及快速部署的能力,使它受到開發者的廣大歡迎。而它爆紅的原因就是因為他獨特的映像檔(Image),也因為映像檔的出現,使得 Docker 得以打破過去「程式碼即應用」的觀念。
在傳統上我們認為,軟體開發結束之後,所產出的東西就只是程式碼或是能夠編譯執行的二元執行檔。而為了使這些開發完的程式碼可以順利執行,開發團隊必須準備完整的部屬檔案,讓維運團隊得以部署應用程式,但即使如此,仍然常發生部署失敗的情況。
Docker 透過映像檔,將作業系統核心外,運作應用程式所需要的系統環境,由下而上打包,達到應用程式跨平臺間的無縫接軌運作,也因此變成 Docker 最顯眼的優點之一。
但即使如此, Docker 也存在著幾個比較致命的缺點,像是 Docker 並不會自動對不活動的節點進行重新編程,所以在發現節點出問題後,需要以人工的方式重啟。且若我們要一次部署多個服務的話,也需要一個一個把容器 Run 起來,所以會有集體部署的困難,即使部署完後,也需要手動管理實例,沒辦法做到完全自動化,而這些問題也成為 Docker 最致命的缺點,而這些缺點在之後的 Kubernetes 上都有相對應的解法。
到這邊,我們就已經把 Docker 介紹的差不多了,之後我也會慢慢跟各位介紹 Kubernetes 那就請各位敬請期待了!
那我們今天就先說到這邊吧!
大家掰掰!