Java架構進階Docker實戰,看完我成功拿到了字節跳動的offer
前言:
Docker是有史以來增長最快的開源項目之一,在其周圍的生態系統也是以類似的速度不斷發展。由於這些原因,本書的重點完全在於Docker 的工具集。這一範圍限定不僅能使內容選材更精準,幫助讀者了解在他們的特有實例中如何應用Docker功能:一旦讀者們牢牢把握住了本書涉及的基礎知識,他們也能應對更大的問題,進而探索整個生態系統。
由於篇幅限制,文末有這電子書文檔的領取方式
這個電子書的適用人群:
這裡可以根據軟體需求劃分出一些能閱讀本書的用戶團體:DocKer用戶和愛好者DocKer代碼開發自願者Java中高級開發工程師Java架構師有志於從事Java開源的相關技術從業者書籍目錄
第一章:歡迎來到docker世界
什麼是dockerdocker解決了什麼問題為什麼docker如此重要何時何處使用docker案例"Hello World"小結Docker包括一個命令行程序、一個後臺守護進程,以及一-組遠程服務。它解決了常見的軟體問題,並簡化了安裝、運行、發布和刪除軟體。這一切能夠實現是通過使用一項UNIX技術,稱為容器。
第二章:在容器中運行軟體
從Docker命令行工具獲得幫助控制容器:建立一個網站的監控器已解決的問題和pid命名空間消除元數據衝突:構建一個網站構建與環境無關的系統建立持久化的容器清理小結學完本章,你就會明白容器使用的基本知識,以及Docker如何幫助解決混亂和衝突的問題。你將通過示例了解Docker功能的使用,而這些示例你可能會在日常使用中遇到。
本書下文都將使用Docker命令行工具。為了讓你學會使用,我想告訴你如何從Docker程序本身獲得有關命令的信息。這樣,你就會明白在你的機器上如何使用合適版本的Docker。
第三章:軟體安裝的簡化
選擇所需的軟體查找和安裝軟體安裝文件和隔離小結安裝任何軟體的第一步是確定你要安裝的軟體。你知道軟體是使用鏡像發布的,但你需要知道如何確切地告訴Docker所要安裝的鏡像。我已經提到過,倉庫存儲著鏡像,但在本章中我將展示倉庫和標記以選擇安裝所需的軟體鏡像。
第四章:持久存儲和卷間狀態共享
存儲卷的簡介存儲卷的類型共享存儲卷管理卷的生命周期存儲卷的高級容器模式小結就像在容器中運行一個資料庫程序一樣,你可以將這個軟體打包在鏡像中,當啟動容器時,它將會初始化-一個空資料庫。當其他程序接入該資料庫並存入數據,這些數據要如何才能保存下來呢?是以容器中一個文件的形式嗎?當你暫停- - 個容器或者刪除這個容器,這些數據要怎麼辦?如果你想要升級資料庫程序,這些數據怎麼搬遷?
第五章:網絡訪問
網絡相關的背景知識Docker的網絡Bridged容器Joined容器Open容器跨容器依賴小結
第六章:隔離---限制危險
資源分配共享內存理解用戶能力--作業系統功能的授權運行特權容器使用加強工具創建更壯健的容器因地制宜地構建容器小結容器提供的是進程上下文的隔離,而不是整個系統的虛擬化。這之間的語義區別可能看起來很微妙,但是產生的影響確實巨大。第1章稍微提了一下區別。第2到5章,每章都覆蓋了一部分Docker容器的隔離特性。本章覆蓋剩餘的部分,並且包含了加強系統安全的內容。
第七章:在鏡像中打包軟體
從容器中構建鏡像深入Docker鏡像和層導出和導入扁平文件系統版本控制的最佳實踐小結創建容器有兩種方法,要麼手工修改現有容器中的鏡像,要麼定義、執行一個名為Dockerfile的自動化構建腳本。本章關注於手工修改鏡像的過程、鏡像操作的基本機制、還有最終人工產生的鏡像。Dockerfile 和構建自動化內容包含在第8章中。
第八章:構建自動化和高級鏡像設置
使用Dockerfile 打包GitDockerfile入門注入下遊鏡像在構建時發生的操作使用啟動腳本和多進程容器加固應用鏡像小結Dockerfile是一個文件,它由構建鏡像的指令組成。指令由Docker鏡像構建者自上而下排列,能夠被用來修改鏡像的任何信息。使用Dockerfile 構建鏡像使得很多任務變得非常簡單,如同從計算機添加一個文件到容器中,只需要一行指令。本節包含了Dockerfile的基礎知識、為什麼使用Dockefile是最佳方式的原因、對Dockerfile指令的簡要概括、如何添加未來構建行為的內容。
第九章:共有和私有軟體分發
選擇一個分發方法通過託管Registry發布私有Registry介紹鏡像的手動發布和分發鏡像原始碼分發工作流程小結託管Registry提供了公有和私有倉庫,以及自動構建工具。運行一個私有的Registry讓你可以隱藏和定製鏡像分發基礎設施。分發工作流程的深度定製也許會要求你放棄Docker官方的鏡像分發設施而構建你自己的鏡像分發設施。有些系統甚至可能會放棄把鏡像作為分發單元,而是分發鏡像原始碼。
第十章:運行自定義Registry
運行個人Registry集中式Registry的增強持久化的BLOB存儲擴展訪問和延遲的改進通過通知集成小結
第十一章:Docker Compose聲明式環境
Docker Compose:第一天的啟動及運行環境內的迭代開始一個新項目:三個示例中的compose YAML小結
第十二章:Docker Machine和Swarn集群
介紹Docker MachineDocker Swarn 介紹Swarn調度Swarn服務發現小結學習和解決分布式系統問題的第一步是構建一-個分布式系統,DockerMachine可以在幾秒鐘內創建和移除啟用了Docker的主機集群。學習如何使用這個工具對於那些想要了解如何在分布式雲環境或者本地虛擬環境使用Docker的人是必不可少的。
讀者福利:
領取方式:關注我的供種號 (Java周某人) 即可領取
還有更多的Java進階資料分享,包含Spring,MyBatis,Netty源碼分析,高並發、高性能、分布式、微服務架構的原理,JVM性能優化這些成為架構師必備的知識體系。等等~