天天看點

Docker 與 Kubernetes

本篇是第八部分“生态篇”的第一篇。在這個部分,我會為你介紹 Docker 生态中的相關項目,以及如何參與到 Docker 項目中,最後會聊聊 Docker 未來的走向,本篇,我為你介紹下 Docker 與 Kubernetes 相關的内容。

整個專欄我們基本都在聊 Docker 的核心原理及其應用,本篇,我們進入“生态篇”的學習,一起來看看在 Docker 生态中,還有哪些值得關注的技術。

使用 Docker 的優勢和痛點

在聊其他技術之前,我們先來聊聊使用 Docker 帶來了哪些優勢以及有哪些痛點,以便于對它以及其他技術有更好的認識。

優勢

Docker 為我們提供了比較好的隔離性,應用程式可以通過将運作時的依賴一同打入鏡像進行傳遞。

在建構鏡像時,你可以将整個應用的編譯,打包環境全部封裝在 Dockerfile 中,再利用多階段建構的特性縮小鏡像體積。傳遞的時候甚至可以從傳遞鏡像轉變為傳遞 Dockerfile。

應用程式運作時,由于容器中已經包含了應用所需的基本依賴,也可以排除掉絕大多數系統環境差異造成的影響。這就為我們帶來了很好的可 移植性。從根本上杜絕了類似于“在我電腦上運作是正常的”這種問題。

對于 Docker 鏡像而言,可以為其指定對應的 repo:tag,可以将這些資訊與代碼的版本控制相結合。這就帶來了良好的 版本控制 能力。

此外,正如我在前面内容中花了很大部分介紹的,通過使用 Docker 可以為我們提供非常多樣性的安全政策,為我們的應用保駕護航。這便是良好的安全性。

另一方