描述
內容簡介
不用Docker註定要被時代淘汰,現在開始不嫌晚 ★七步成師,簡單七個步驟,成為Docker大師★
近年來,Docker為核心的容器技術大行其道,成為企業提高效率的關鍵。 本書致力於提供詳細的Docker入門知識,以“七步法”進行學習,幫助讀者輕鬆上手。 市場上Docker書籍眾多,但缺乏新意或對初學者不友善。 作者提出了“七步法”概念,結合實際企業案例,使學習更貼近實際需求。
“七步法”包括: 1.具象故事降低認知門檻; 2.通過第一個Docker專案快速上手; 3.深入剖析核心原理; 4.以全端角度進行專案實戰; 5.補充運行維護知識; 6.介紹Docker最佳實踐; 7.探討雲端原生持續交付及企業級容器化標準。
本書特點: 1.趣味易懂,剝除官方文件晦澀難懂外衣; 2.案例豐富,包含大量程式講解; 3.實作性強,案例來自實際研發專案。
適合讀者: 軟體開發人員、軟體測試人員及軟體運行維護人員。 本書幫助讀者穩紮穩打,將Docker技術融會貫通。
|
作者
王嘉濤(Jartto)
高級技術專家,技術博客作者。擅長Web領域,對性能優化、工程化及容器化略有心得。現就職於美團,負責前端公共技術建設。
李傳龍(Alonso) Kubernetes運維專家。在運維領域積累了豐富的實戰經驗,尤其是對服務容器化、PaaS化、穩定性建設、運維體系建設等方面進行了深入探索。現就職於百度,負責雲相關運維。
盧桂周(Storm) 前端技術專家。在前端技術升級、UI自動化測試、CI/CD、前端工程化、服務容器化等方面有豐富的實戰經驗。現就職於拉勾,負責前端團隊。 |
目錄
第1章 快速了解Docker
1.1 Docker簡介 1.2 Docker的基本組成 1.3 入門必備基礎知識 1.4 安裝Docker 1.5 使用Docker桌面端工具 1.6 Docker常用命令1——鏡像命令 1.7 Docker常用命令2——容器命令 1.8 本章小結
第2章 開始第一個Docker專案 2.1 專案開發的主要階段 2.2 專案前期準備 2.3 對Web專案進行容器化改造 2.4 建構專案鏡像 2.5 在容器中運行專案鏡像 2.6 管理鏡像 2.7 發佈專案 2.8 本章小結
第3章 了解Docker的核心原理 3.1 熟悉Docker架構 3.2 Linux的Namespace機制 3.3 Linux底層的Cgroup隔離機制 3.4 容器的生命週期 3.5 Docker的網路與通訊 3.6 Docker UnionFS的原理 3.7 Device Mapper儲存 3.8 Compose容器編排 3.9 Docker原始程式分析 3.10 本章小結
第4章 趁熱打鐵,Docker專案實戰 4.1 前端環境準備 4.2 前端應用1——Web技術堆疊 4.3 前端應用2——Node.js 4.4 後端環境準備 4.5 後端容器1——Java技術堆疊 4.6 後端容器2——Go語言技術堆疊 4.7 後端容器3——Python技術堆疊 4.8 Docker測試實戰 4.9 本章小結
第5章 Docker的持續整合與發佈 5.1 準備鏡像倉庫 5.2 初始化容器設定檔 5.3 透過Jenkins持續整合Docker 5.4 透過Jenkins發佈Docker 5.5 部署Docker容器監控 5.6 本章小結
第6章 Docker的高級應用 6.1 Docker的容器與處理程序 6.2 Docker的檔案儲存與備份 6.3 Docker的網路設定 6.4 Docker的鏡像最佳化 6.5 Docker的安全性原則與加固 6.6 Docker的叢集管理1——Swarm 6.7 Docker的叢集管理2——Kubernetes 6.8 本章小結
第7章 一步步打造企業級應用 7.1 企業級雲端原生的持續交付模型——GitOps實戰 7.2 企業級容器化標準 7.3 企業級方案1——微服務應用實踐 7.4 企業級方案2——打造多專案平行處理隔離環境 |
序
近些年來,以Docker為核心的容器技術如日中天。在企業“降本增效”的前提下,容器方案貫穿於應用的每個核心鏈路。眾所皆知,每輪新技術的興起,對個人和公司來說,既是機會也是挑戰。因此,軟體行業從業者的正確做法就是儘快上手。
本書正是致力於此,為讀者提供詳細的Docker入門知識。按照“七步法”進行學習,讀者可以輕鬆入門,學有所獲。
為什麼要寫本書 市場上不乏Docker技術相關的書籍,但其或圍繞官方基礎文件缺乏新意,或直入原始程式讓初學者望而卻步。鮮有既滿足初學者入門需要,又結合企業實際案例的書籍。作者正是看到了這一點,於是另闢蹊徑,從讀者的角度出發,提出了“七步法”的概念。 何謂“七步法”?“七”既是人們最容易記住的數字,也是人類瞬間記憶的極限,本書正是立意於此。第一步是從具象的故事開始,開門見山,降低認知門檻。第二步則透過“第一個Docker專案”,幫助讀者快速上手。在讀者建立起系統概念後,第三步則直切核心原理,圍繞Docker架構展開,由淺入深地講解Docker底層的隔離機制、容器的生命週期、網路與通訊、儲存原理及原始程式。深入剖析,“知其然而知其所以然”。第四步趁熱打鐵,圍繞前後端專案,從全端角度進行專案實戰。第五步則從Docker運行維護角度出發,進一步補充讀者的知識圖譜,這也是初學者最容易忽視的內容。從第六步開始就步入了高級應用,該部分重點圍繞Docker技術最佳實踐展開,提供了容器與處理程序、檔案儲存與備份、網路設定、鏡像最佳化及安全性原則與加固等內容,案例豐富,操作性強。第七步則昇華全書內容,透過雲端原生持續交付模型、企業級容器化標準及兩個實際的企業級方案,串聯本書所有內容。 至此,七步完成。讀者可以清晰地感受每一步帶來的技術提升,穩紮穩打,從而將Docker技術融會貫通。
本書的特點 (1)趣味易懂。 本書中較多的原理,剝除了Docker官方文件晦澀難懂的“外衣”,透過趣味故事展開。舉例來說,透過“蓋房子”來理解Docker是什麼,透過“別墅與膠囊旅館”來闡述容器與虛擬機器的概念,透過“工廠和廠房”來說明處理程序和執行緒,等等。讀者無須記憶,就可輕鬆理解,這也正是本書想要傳達的觀點:技術並非神秘莫測,而是缺乏技巧。 (2)案例豐富。 本書第2章和第4~7章都包含大量的案例。不管是“第一個Docker專案”還是專案實戰、企業案例,都包含了大量的程式講解。讀者完全可以按照教學逐步實現,體驗Docker程式設計的樂趣。 (3)實作性強。 值得一提的是,本書案例均來自實際的研發專案,為了讓讀者能夠輕鬆掌握,去除了容器中包含的業務邏輯,保留了Docker的核心架構,實作性強。熟練掌握本書中的案例,沉澱其所表現出來的方法論,讀者一定能夠在企業應用中靈活運用,事半功倍。
本書的讀者 軟體開發人員:有了Docker,軟體開發人員可以聚焦業務邏輯,而不必再為了專案設定的差異、運行環境的不同而惆悵。 軟體測試人員:軟體測試人員每天都會面對大量的測試任務,手動執行測試用例會耗費大量的時間。在這種場景下,軟體測試人員可以考慮使用Docker進行自動化改造。 軟體運行維護人員:對軟體運行維護人員來說,Docker技術應該成為其一項必修的基本功。依賴Docker提供的靈活性、封裝性及重複使用能力,軟體運行維護人員可以輕鬆應對系統多版本差異,高效維護多個環境。
王嘉濤 |