內容簡介
本書從實踐者的角度,在講解docker高階實踐技巧的同時,深入到源**層次,為讀者梳理出docker容器技術和基於docker的容器雲技術(如kubernetes)的實現方法和設計思路,幫助讀者理解如何在實際場景中利用docker解決問題並啟發新的思考。全書包括兩部分,第一部分深入解讀docker容器技術,包括docker入門、架構總覽、docker容器核心原理解讀,以及docker高階實踐技巧;第二部分深入解讀基於docker的主流容器雲技術,講解了構建自己的容器雲的方法,深入分析了3類docker容器雲技術的實現方法的設計思路,包括專注docker容器編排與部署的容器雲(compose、machine、swarm、fleet)、專注應用支撐的容器雲(flynn、deis),以及一切皆容器的kubernetes。
本書適用於有一定docker基礎的開發者、架構師、it專業學生以及探索基於docker構建雲計算平台的技術人員,也非常適合作為高校教材或培訓資料。
作者簡介
浙江大學sel實驗室
浙江大學軟體工程實驗室(software engineering lab,sel)雲計算團隊組建於2023年,組織博士和碩士研究生搭建、分析和鑽研開源的雲計算技術,包括docker、kubernetes、cloud foundry、openstack、cloudstack、eucalyptus、convirt、openshift等,積極為開源社群貢獻**,管理和參與線上線下討論社群,參加國內外雲計算技術峰會並發言。以開源社群為技術交流研發平台,浙江大學sel實驗室在4年多的時間裡成長為乙個充滿熱情、富有能力的雲計算研發團隊,也在國內外開源雲計算社群,尤其是在docker、kubernetes和cloud foundry社群得到了廣泛認可。
目錄
第一部分 docker深入解讀
第1章 從容器到容器雲 2
1.1 雲計算平台 2
1.2 容器,新的革命 3
1.3 進化:從容器到容器雲 7
第2章 docker基礎 8
2.1 docker的安裝 8
2.2 docker操作引數解讀 9
2.3 搭建你的第乙個docker應用棧 16
2.3.1 docker集群部署 16
2.3.2 第乙個hello world 17
2.3.3 開發、測試和發布一體化 27
第4章 docker高階實踐技巧 138
4.1 容器化思維 138
4.1.1 ssh伺服器的替代方案 139
4.1.2 docker內應用日誌管理方案 139
4.1.3 其他技巧彙總 140
4.2 docker高階網路實踐 142
4.2.1 玩轉linux network namespace 143
4.2.2 pipework原理解析 148
4.2.3 pipework跨主機通訊 154
4.2.4 ovs劃分vlan 159
4.2.5 ovs隧道模式 163
4.3 dockerfile最佳實踐 175
4.3.1 dockerfile的使用 176
4.3.2 dockerfile實踐心得 180
4.4 docker容器的監控手段 182
4.4.1 docker容器監控維度 182
4.4.2 容器監控命令 183
4.4.3 常用的容器監控工具 186
4.5 容器化應用構建的基礎:高可用配置中心 189
4.5.1 etcd經典應用場景 190
4.5.2 etcd實現原理 194
第二部分 docker雲平台解讀
第5章 構建自己的容器雲 210
5.1 再談雲平台的層次架構 210
5.2 從小工到專家 213
第6章 專注編排與部署:三劍客與fleet 218
6.1 編排小神器fig 218
6.1.1 再談容器編排與部署 218
6.1.2 compose原理:一**竟 221
6.2 環境透明化工具machine 225
6.2.1 machine與虛擬機器軟體 226
6.2.2 machine與iaas平台 227
6.2.3 machine小結 228
6.3 集群抽象工具swarm 229
6.3.1 swarm簡介 229
6.3.2 試用swarm 230
6.3.3 swarm集群的多種建立方式 231
6.3.4 swarm對請求的處理 233
6.3.5 swarm集群的排程策略 233
6.3.6 swarm與machine 234
6.4 編排之秀fleet 235
6.4.1 舊問題新角度:docker distro 235
6.4.2 fleet的原理剖析 239
第7章 專注應用支撐和執行時:flynn 和deis 245
7.1 flynn,乙個小而美的兩層架構 245
7.1.1 第0層:容器雲的基礎設施 246
7.1.2 第1層:容器雲的功能框架 246
7.1.3 flynn體系架構與實現原理 247
7.2 談談deis與flynn 257
7.2.1 應用發布上的比較 258
7.2.2 關於deis的一些思考 260
第8章 一切皆容器:kubernetes 261
8.1 kubernetes簡介 261
8.2 kubernetes的設計解讀 262
8.2.1 乙個典型案例:guestbook. 263
8.2.2 kubernetes核心概念剖析 265
8.3 kubernetes核心元件解讀 294
8.3.1 apiserver 294
8.3.2 scheduler 301
8.3.3 controller manager 309
8.3.4 kubelet 314
8.3.5 kube-proxy 320
8.3.6 核心元件協作流程 325
8.4 kubernetes使用者認證授權與資源管理 328
8.4.1 namespace解析 328
8.4.2 基於token檔案或客戶端證書的認證機制 333
8.4.3 基於訪問規則的授權機制 334
8.4.4 基於資源的授權控制admissioncontrol 336
8.5 kubernetes網路核心原理 347
8.5.1 單pod單ip模型 348
8.5.2 pod和網路容器 350
8.5.3 實現kubernetes的網路模型 353
8.6 kubernetes高階實踐 356
8.6.1 kubernetes高階實踐之應用健康檢查 356
8.6.2 kubernetes高階實踐之高可用性 358
8.6.3 kubernetes高階實踐之日誌 362
8.6.4 kubernetes高階實踐之整合dns 364
8.6.5 kubernetes高階實踐之容器上下文環境 366
8.7 不要停止思考 368
第三部分 附錄
附錄a docker的安裝 372
附錄b 閱讀docker源**的神兵利器 379
附錄c 快速熟悉開源專案 388
附錄d cgroups的測試與使用 391
附錄e cgroups子系統配置引數介紹 395
附錄f kubernetes的安裝 400
容器雲技術docker
1 容器雲技術docker是什麼?docker 屬於 linux 容器的一種封裝,提供簡單易用的容器使用介面。它是目前最流行的 linux 容器解決方案。docker 將應用程式與該程式的依賴,打包在乙個檔案裡面。執行這個檔案,就會生成乙個虛擬容器。程式在這個虛擬容器裡執行,就好像在真實的物理機上執...
docker容器與容器雲 文章整體結構和目錄
第一部分 docker深入解讀 第一章 從容器到容器雲 第二章 docker 基礎 第三章 docker 核心原理解讀 第四章 docker高階實踐技巧 第二部分 docker雲平台解讀 第五章 構建自己的容器雲 第六章 專注和排版與部署 三劍客 第七章 專注應用支撐和執行時 flynn和deis ...
docker映象與docker容器
映象與容器的關係 映象 例如系統安裝映象 已經裝好環境的虛擬機器 執行一次 就是乙個容器 新的作業系統 當作是容器的 源 如同物件導向中的類 容器 裝好的系統 乙個乙個的作業系統,或者是已經裝好東西的系統 如同物件導向的物件 docker search 包名 搜尋包 一般都是去hub.docker....