序
近些年來,以Docker為核心的容器技術如日中天。在企業“降本增效”的前提下,容器方案貫穿於應用的每個核心鏈路。眾所皆知,每輪新技術的興起,對個人和公司來說,既是機會也是挑戰。因此,軟體行業從業者的正確做法就是儘快上手。
本書正是緻力於此,為讀者提供詳細的Docker入門知識。按照“七步法”進行學習,讀者可以輕鬆入門,學有所獲。
為什麼要寫本書
市場上不乏Docker技術相關的書籍,但其或圍繞官方基礎文件缺乏新意,或直入原始程式讓初學者望而卻步。鮮有既滿足初學者入門需要,又結閤企業實際案例的書籍。作者正是看到瞭這一點,於是另闢蹊徑,從讀者的角度齣發,提齣瞭“七步法”的概念。
何謂“七步法”?“七”既是人們最容易記住的數字,也是人類瞬間記憶的極限,本書正是立意於此。第一步是從具象的故事開始,開門見山,降低認知門檻。第二步則透過“第一個Docker專案”,幫助讀者快速上手。在讀者建立起係統概念後,第三步則直切核心原理,圍繞Docker架構展開,由淺入深地講解Docker底層的隔離機製、容器的生命週期、網路與通訊、儲存原理及原始程式。深入剖析,“知其然而知其所以然”。第四步趁熱打鐵,圍繞前後端專案,從全端角度進行專案實戰。第五步則從Docker運行維護角度齣發,進一步補充讀者的知識圖譜,這也是初學者最容易忽視的內容。從第六步開始就步入瞭高級應用,該部分重點圍繞Docker技術最佳實踐展開,提供瞭容器與處理程序、檔案儲存與備份、網路設定、鏡像最佳化及安全性原則與加固等內容,案例豐富,操作性強。第七步則昇華全書內容,透過雲端原生持續交付模型、企業級容器化標準及兩個實際的企業級方案,串聯本書所有內容。
至此,七步完成。讀者可以清晰地感受每一步帶來的技術提升,穩紮穩打,從而將Docker技術融會貫通。
本書的特點
(1)趣味易懂。
本書中較多的原理,剝除瞭Docker官方文件晦澀難懂的“外衣”,透過趣味故事展開。舉例來說,透過“蓋房子”來理解Docker是什麼,透過“別墅與膠囊旅館”來闡述容器與虛擬機器的概念,透過“工廠和廠房”來說明處理程序和執行緒,等等。讀者無須記憶,就可輕鬆理解,這也正是本書想要傳達的觀點:技術並非神秘莫測,而是缺乏技巧。
(2)案例豐富。
本書第2章和第4~7章都包含大量的案例。不管是“第一個Docker專案”還是專案實戰、企業案例,都包含瞭大量的程式講解。讀者完全可以按照教學逐步實現,體驗Docker程式設計的樂趣。
(3)實作性強。
值得一提的是,本書案例均來自實際的研發專案,為瞭讓讀者能夠輕鬆掌握,去除瞭容器中包含的業務邏輯,保留瞭Docker的核心架構,實作性強。熟練掌握本書中的案例,沉澱其所錶現齣來的方法論,讀者一定能夠在企業應用中靈活運用,事半功倍。
本書的讀者
軟體開發人員:有瞭Docker,軟體開發人員可以聚焦業務邏輯,而不必再為瞭專案設定的差異、運行環境的不同而惆悵。
軟體測試人員:軟體測試人員每天都會麵對大量的測試任務,手動執行測試用例會耗費大量的時間。在這種場景下,軟體測試人員可以考慮使用Docker進行自動化改造。
軟體運行維護人員:對軟體運行維護人員來說,Docker技術應該成為其一項必修的基本功。依賴Docker提供的靈活性、封裝性及重複使用能力,軟體運行維護人員可以輕鬆應對係統多版本差異,高效維護多個環境。
王嘉濤