本書以任務為導向,較為全面地介紹了容器技術的相關知識。全書共分為7個項目,包括Docker概述、Docker鏡像管理和定制、Docker容器管理、Docker網(wǎng)絡和數(shù)據(jù)卷管理、Docker編排工具、自動化部署及Kubernetes概述。本書各項目均包含項目實訓,可幫助讀者通過練習鞏固所學的內(nèi)容。
本書既可以作為本科及高職高專院校云計算及計算機相關專業(yè)的教材,又可以作為云計算愛好者的自學用書。
1.理論與實際應用緊密結(jié)合
本書以7個項目為主線,在講述容器技術的基礎上,對Docker編排工具、自動化部署、Kubernetes(容器編排引擎)均有介紹。本書實現(xiàn)了技術講解與應用的統(tǒng)一,有助于“教、學、做一體化”教學的實施。
2.內(nèi)容組織合理、有效
本書按照由淺入深的順序引入相關技術與知識。每個項目均被劃分為若干個任務,每個任務均詳細介紹了任務要求和相關知識。
程寧,男,中共黨員,副教授,碩士研究生學位。畢業(yè)于武漢大學軟件學院。湖北輕工職業(yè)技術學院信息工程學院院長。湖北省教育廳技能大賽專家?guī)斐蓡T,多次擔任全國、省級職業(yè)院校技能大賽裁判長、裁判工作。研究方向為網(wǎng)絡工程和云計算。主持多項省級課題,在國內(nèi)多家知名刊物上發(fā)表論文數(shù)十篇、出版10余本精品教材。獲得華為頒發(fā)的”HICE網(wǎng)絡專家”資格證書。
項目1 Docker概述 1
知識目標 1
能力目標 1
任務1.1 認識Docker技術 1
任務要求 1
相關知識 1
1.1.1 Docker的發(fā)展歷程 1
1.1.2 Docker的概念與特點 2
任務實現(xiàn) 3
【項目實訓】編寫Docker技術的調(diào)研
報告 6 任務1.2 熟悉Docker的安裝方法 6
任務要求 6
相關知識 6
1.2.1 Docker架構(gòu) 6
1.2.2 Docker的核心組件 7
1.2.3 Docker的版本分類 8
任務實現(xiàn) 8
【項目實訓】安裝和使用Docker 17
項目2 Docker鏡像管理和定制 18
知識目標 18
能力目標 18
任務2.1 查看和管理Docker鏡像 18
任務要求 18
相關知識 18
2.1.1 Docker鏡像 18
2.1.2 Docker鏡像倉庫 19
任務實現(xiàn) 21
【項目實訓】創(chuàng)建和使用私有倉庫 27 任務2.2 創(chuàng)建定制的Docker鏡像 28
任務要求 28
相關知識 28
2.2.1 通過commit命令創(chuàng)建鏡像 28
2.2.2 利用Dockerfile創(chuàng)建鏡像 29
任務實現(xiàn) 34
【項目實訓】創(chuàng)建定制Docker鏡像 39
項目3 Docker容器管理 40
知識目標 40
能力目標 40
任務3.1 認識Docker容器 40
任務要求 40
相關知識 40
3.1.1 Docker容器 40
3.1.2 容器實現(xiàn)原理 41
3.1.3 Docker鏡像與容器的關系 41
任務實現(xiàn) 42 【項目實訓】創(chuàng)建和管理容器 50
任務3.2 Docker容器資源控制 51
任務要求 51
相關知識 51
3.2.1 CGroups的含義 51
3.2.2 CGroups的功能和特點 51
任務實現(xiàn) 52
【項目實訓】使用CGroups控制資源 55
項目4 Docker網(wǎng)絡和數(shù)據(jù)卷管理 56
知識目標 56
能力目標 56
任務4.1 Docker網(wǎng)絡管理 56
4.1.2 Docker網(wǎng)絡模式 58
任務實現(xiàn) 65
【項目實訓】自定義網(wǎng)絡實現(xiàn)跨主機
容器互連 77
任務4.2 Docker數(shù)據(jù)卷管理 77
任務要求 77 任務要求 56
相關知識 56
4.1.1 Docker容器網(wǎng)絡架構(gòu) 56
相關知識 77
4.2.1 Docker數(shù)據(jù)卷 77
4.2.2 數(shù)據(jù)卷容器 78
任務實現(xiàn) 78
【項目實訓】使用數(shù)據(jù)卷容器 83
項目5 Docker編排工具 85
知識目標 85
能力目標 85
任務5.1 Compose編排工具的使用 85
任務要求 85
相關知識 85
5.1.1 Compose工具 85
5.1.2 Compose的常用命令 86
5.1.3 docker-compose.yml文件 89
任務實現(xiàn) 93
【項目實訓】多容器搭建WordPress
博客系統(tǒng) 100 任務5.2 Swarm編排工具的使用 100
任務要求 100
相關知識 101
5.2.1 Swarm工具 101
5.2.2 Swarm架構(gòu) 101
5.2.3 Swarm相關概念 102
5.2.4 Swarm常用命令 102
任務實現(xiàn) 103
【項目實訓】使用Swarm集群和自動
編排功能 111
項目6 自動化部署 112
知識目標 112
能力目標 112
任務6.1 Rancher概述 112
任務要求 112
相關知識 113
6.1.1 Rancher平臺 113
6.1.2 Rancher的組成 113
任務實現(xiàn) 114
【項目實訓】使用Rancher管理平臺
部署WordPress應用 124 任務6.2 持續(xù)集成 125
任務要求 125
相關知識 125
6.2.1 持續(xù)集成概述 125
6.2.2 持續(xù)集成的優(yōu)點 125
6.2.3 持續(xù)集成系統(tǒng)的組成 126
6.2.4 持續(xù)集成常用工具 126
任務實現(xiàn) 126
【項目實訓】自動構(gòu)建及部署Java
Maven項目 142
項目7 Kubernetes概述 144
知識目標 144
能力目標 144
任務7.1 Kubernetes的發(fā)展 144
任務要求 144
相關知識 145
7.1.1 Kubernetes簡介 145
7.1.2 Kubernetes核心概念 145
7.1.3 Kubernetes的架構(gòu)和操作
流程 148
任務實現(xiàn) 149 【項目實訓】安裝Kubernetes 168
任務7.2 Kubernetes的基本操作 168
任務要求 168
相關知識 169
7.2.1 kubectl概述 169
7.2.2 kubectl常用命令 170
任務實現(xiàn) 173
【項目實訓】在Kubernetes上部署
Tomact應用 181