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