必知必會的 Docker 核心知識

自 2013 年起,隨着 Docker 的正式面世,容器技術迅速成爲了基礎技術領域中的熱門。而在近兩三年中,隨着容器編排領域的混戰結束,Kubernetes 已經成爲了容器編排領域事實上的標準。git

有一些人存在誤解,認爲 Kubernetes 的出現取代了 Docker。但事實上,Docker 與 Kubernetes 是相輔相成的。Kubernetes 使用 Docker 做爲容器運行時,用來啓動應用;當 Docker 容器規模變大時,天然是須要有容器編排工具進行管理的。引用最近一次的網絡研討會後的文章內容:docker

In fact, Kubernetes is better with Docker. And Docker is better with Kubernetes.

不管在使用 Docker 或是 Kubernetes 亦或者是使用基於這些技術的其餘衍生技術時,都有可能會遇到一些意料以外的狀況,當問題發生時,咱們老是但願能夠快速定位問題,而且從根本上解決問題。安全

通常狀況下,上層的問題比較容易解決,但若是問題發生在運行時/Docker 或容器上時,若是沒有系統性的知識,很難從根本上解決問題;固然,有些時候經過搜索引擎能夠幫咱們找到一些問題的解決辦法,但若是不將其完全搞懂,之後遇到相似問題可能仍是無法快速解決。網絡

我自 Docker 0.9 版本時開始學習和使用,本身踩過了不少坑,活躍在社區中,也幫別人解決了不少問題。如今個人新專欄《Docker 核心知識必知必會》正式上線了,共 51 節,從 7 個核心維度來 系統性 的講解 Docker 容器技術的核心特性及原理,實踐與源碼相結合;部份內容會深刻到 Linux 內核源碼,以此來創建起從內核到 Docker 容器技術的知識體系。架構

我但願藉由這個課程,將 Docker 容器技術的本質和思想與我在開發和運維 Docker 過程當中對其原理和實踐經驗的總結講清楚,並將結合着實踐和核心特性的原理,加深對 Docker 容器技術的理解運維

所以,我把課程劃分紅了三大模塊:工具

  • Docker 入門: 這個模塊分紅了三篇內容,經過第一篇,帶你瞭解 Docker 容器技術生態的發展脈絡;第二篇,是爲剛入門 Docker 的讀者準備的,也是爲後續章節進行鋪墊;第三篇是不少讀者或公司都常會困惑的問題,Docker 與 Linux 內核兼容性如何,要上生產環境該選擇哪一個版本?我會在這一篇中與你分享,讓你再也不困惑。
  • Docker 核心特性:這個大模塊圍繞 Docker 的核心知識點,拆分紅了 7 大部分,分別是容器、鏡像、CI/CD、架構、存儲、安全和網絡。這些是該課程的核心內容,在這部份內容中,我將基本按照從實踐到原理的方式進行組織,讓你從根兒上知道如何用,以及爲何這麼用。學習

    • 在容器篇,我會先給你介紹容器生命週期管理相關的內容,那你對容器的使用有個基本認識;以後會對容器資源進行管理;並對容器的核心進行深刻剖析;最後動手來本身寫容器。
    • 在鏡像篇,我會給你介紹鏡像完整的生命週期管理;鏡像是如何構建與分發的;如何使用 Dockerfile 進行鏡像構建;並介紹 Docker 的下一代構建系統是如何提速近 10 倍的;接下來結合個人實際鏡像爲你介紹 Dockerfile 的優化和最佳實踐;最後分別深刻源碼爲你介紹鏡像構建、分發的原理,以及認證流程和原理。
    • 在 CI/CD 篇,我會爲你介紹如何將 Docker 與 CI/CD 結合,併爲你介紹適用於生產環境使用的 CI/CD pipeline,但願能爲你建設 CI/CD 提供一些啓發。
    • 架構篇中我會結合源碼給你介紹 Docker 的核心架構,以及其是如何協做的;Docker 提供了一種可擴展的 Plugin 機制,在特定場景下使用 Plugin 擴展 Docker 也是一種不錯的選擇;接下來會結合實際經驗爲你介紹容器監控和日誌方面的具體實踐方案,但願能爲你在實際使用中提供一個參考;最後會 與你分享我所總結的 Docker 相關問題的定位及調試手段 正確的方法能讓你排查問題的效率翻倍。
    • 存儲篇主要介紹 Docker 中 volume 的使用;以及如何進行數據備份和恢復;最後會深刻內部爲你介紹如今 Docker 最推薦的 Overlay2 存儲驅動的工做原理。
    • 安全篇會涉及鏡像和容器運行時的安全;以及會涉及一些的 Linux 內核安全相關的知識,爲你詳細介紹如何利用 Linux 內核的安全模塊爲 Docker 保駕護航。
    • 網絡篇除了介紹基礎網絡知識外,還會爲你介紹如何定製 bridge 網絡;iptables 始終是一個很核心的知識點,我會爲你將 Docker 與 iptables 梳理清楚,以及如何自定義的進行網絡管理;最後會爲你詳細介紹 docker-proxy ,Docker 內部 DNS 以及 Docker 的核心網絡知識,讓網絡再也不成爲一個攔路虎。
  • 生態擴展:不得不說「開源」是 Docker 成長迅速的關鍵,在這個模塊中,我將爲你介紹 Docker 與 Kubernetes 間的聯繫,以及容器生態中的其餘組件;與你分享如何參與到 Docker 容器生態內,固然這裏也會涉及到 Docker 如今的代碼組織相關的內容;最後將與你探討 Docker 生態將來的走向。

專欄新上線,限時優惠!可直接訪問連接 https://gitbook.cn/gitchat/co... 參與學習,或掃描下方圖片二維碼參與:優化

PS:能夠生成本身的分享海報,得 24.75搜索引擎

相關文章
相關標籤/搜索