本書講解Docker容器的配置、部署與應用,一共分為11個項目,包括工程項目文檔編寫、Docker基礎、Docker安裝、Docker鏡像基本知識、Dockerfile定制鏡像、Docker容器基本知識、私有Registry、握Docker存儲、Docker網(wǎng)絡、compose基本原理、項目部署。本書的重點和特色是整本書是圍繞容器的web應用商城項目部署實施設計編寫的。本書內(nèi)容豐富,注重實踐性和可操作性,對項目中的每個任務都有相應的操作示范,每個項目后都會有實驗手冊,將本項目的知識點串起來講解,便于讀者快速上手。本書可以作為各類院校人工智能、大數(shù)據(jù)、云計算相關專業(yè)課程的教材,也可以作為云計算容器技術培訓班教材,并適合廣大云計算技術愛好者自學使用。
龔斌,畢業(yè)于中國石油大學,廣東科學技術職業(yè)學院計算機工程技術學院云計算技術與應用專業(yè)專任教師。主要著作方向為大數(shù)據(jù),云計算。主要教授課程Docker。曾獲得多項獎項,主持過多項省級、國家級科研課題。
項目1 PaaS云平臺基本管理 1
1.1 PaaS云平臺原理 2
1.1.1 云計算服務體系 2
1.1.2 安全與隱私保護 6
1.1.3 PaaS的發(fā)展歷程 8
1.1.4 PaaS的基本實現(xiàn)方法 9
1.1.5 容器云的基本情況 12
1.2 云原生開發(fā)的基本概念 12
1.2.1 云原生的4要素 12
1.2.2 云原生開發(fā)與傳統(tǒng)應用軟件開發(fā)的差異 14
1.2.3 云原生應用開發(fā)的技術基礎 15
1.3 云原生開發(fā)的基本要求 16
1.3.1 12要素 16
1.3.2 云原生開發(fā)框架 19
1.3.3 云原生應用的設計原則 20
1.3.4 云原生開發(fā)的要點 20
1.4 云原生開發(fā)的技術要點 21
1.4.1 微服務的技術要點 21
1.4.2 容器化的技術要點 23
1.4.3 DevOps的技術要點 23
1.4.4 持續(xù)交付的技術要點 24
1.5 微服務架構的基本原理 25
1.5.1 受益方法 26
1.5.2 關鍵支持技術和工具 27
1.5.3 常見模式 28
1.5.4 反模式 29
本章練習題 29
項目2 Docker基本管理 32
2.1 Docker出現(xiàn)之前的世界 33
2.1.1 計算機發(fā)展初期的遺留問題 33
2.1.2 Chroot的出現(xiàn) 33
2.1.3 Java 33
2.1.4 虛擬機技術 33
2.2 什么是Docker 35
2.2.1 容器與虛擬機的區(qū)別 35
2.2.2 Docker的技術基礎——LXC 37
2.2.3 Docker核心技術架構 40
2.2.4 Docker的優(yōu)勢 43
2.2.5 Docker的應用場景 44
2.3 Docker容器的系統(tǒng)架構 45
2.3.1 Docker的架構 45
2.3.2 Docker的組件 45
2.4 Docker版本情況 49
2.5 Docker Engine 50
2.6 Docker主機安裝環(huán)境準備 50
2.6.1 準備任務環(huán)境 51
2.6.2 安裝操作系統(tǒng) 51
2.6.3 配置網(wǎng)絡 52
2.6.4 更改系統(tǒng)配置 53
2.6.5 關閉防火墻和SELinux服務 53
2.6.6 打開內(nèi)核轉(zhuǎn)發(fā)功能 53
2.6.7 配置yum源 54
2.6.8 安裝基本軟件 55
2.6.9 配置Docker安裝源 55
2.6.10 下載并制作Docker安裝包 56
2.6.11 搭建基于httpd的Docker服務器 56
2.7 安裝Docker-CE 57
2.7.1 準備Docker主機(node1) 57
2.7.2 在node1上配置網(wǎng)絡 57
2.7.3 在node1上更改系統(tǒng)配置 58
2.7.4 在node1上配置Docker安裝源 58
2.7.5 在node1上安裝基本軟件 59
2.7.6 在node1上安裝Docker-CE 59
2.7.7 在node1上啟動Docker并驗證版本 59
2.7.8 在master上安裝Docker-CE 60
2.8 第一次使用Docker 61
2.8.1 創(chuàng)建第一個鏡像 61
2.8.2 運行第一個容器 65
本章練習題 66
項目3 Docker鏡像管理 68
3.1 Docker鏡像基本知識 68
3.1.1 鏡像的層級管理 69
3.1.2 鏡像的體積 72
3.1.3 特殊類型的鏡像 73
3.1.4 鏡像的標識 73
3.2 Docker鏡像主要操作命令 74
3.2.1 Docker CLI 74
3.2.2 Docker鏡像的主要命令 75
3.3 基于Dockerfile創(chuàng)建鏡像 85
3.3.1 Dockerfile的基本概念 85
3.3.2 Dockerfile的主要指令 88
3.4 使用命令管理鏡像 96
3.4.1 在Docker Hub上查找并拉取鏡像 96
3.4.2 保存、刪除、載入鏡像 96
3.4.3 查看鏡像創(chuàng)建歷史及鏡像列表 98
3.4.4 運行鏡像 98
3.4.5 使用docker build命令構建鏡像 98
3.4.6 使用docker commit命令構建鏡像 99
3.5 使用Dockerfile構建Nginx鏡像 100
3.5.1 下載Nginx安裝包 100
3.5.2 準備vim的網(wǎng)絡安裝源和repo文件 100
3.5.3 編寫Dockerfile文件 101
3.5.4 構建Nginx鏡像 102
3.5.5 運行Nginx容器并訪問驗證 102
本章練習題 103
項目4 Docker容器管理 106
4.1 Docker容器基本知識 107
4.1.1 容器的基本信息 107
4.1.2 容器與虛擬機的比較 107
4.1.3 容器與鏡像的比較 108
4.2 Docker容器的運行規(guī)則 109
4.2.1 容器運行的基本原理 109
4.2.2 容器使用的最佳實踐 109
4.3 Docker容器的主要命令 111
4.4 使用命令管理Nginx容器 125
4.4.1 整理實驗環(huán)境中的容器 125
4.4.2 啟動并進入容器進行操作 126
4.4.3 執(zhí)行容器管理操作 127
本章練習題 129
項目5 Docker倉庫管理 130
5.1 Docker Registry管理 131
5.1.1 Registry的基本原理 131
5.1.2 Docker Registry主要命令 135
5.1.3 Docker私有倉庫基本命令 136
5.1.4 Docker私有Registry的搭建 136
5.2 構建并管理私有Registry 137
5.2.1 在master節(jié)點上搭建并運行Registry 137
5.2.2 在node1節(jié)點上使用私有Registry 138
5.2.3 在master節(jié)點上管理私有Registry 140
本章練習題 141
項目6 Docker存儲管理 143
6.1 Docker存儲的基本類型 144
6.1.1 Docker存儲的基本模式 144
6.1.2 Docker存儲的主要類型 146
6.2 Docker存儲的主要命令 148
6.3 不同Docker存儲方式的操作方法 153
6.3.1 掛載綁定方式示例 153
6.3.2 數(shù)據(jù)卷方式示例 153
6.3.3 數(shù)據(jù)卷容器方式示例 153
6.3.4 共享存儲方式示例 154
6.4 采用數(shù)據(jù)持久化運行并管理Nginx容器 155
6.4.1 使用掛載綁定方式運行Nginx 155
6.4.2 使用數(shù)據(jù)卷方式運行Nginx 155
6.4.3 使用數(shù)據(jù)卷容器方式運行Nginx 157
6.4.4 使用共享存儲方式運行Nginx 158
本章練習題 160
項目7 Docker網(wǎng)絡管理 161
7.1 Docker網(wǎng)絡 162
7.1.1 Docker網(wǎng)絡基本原理 162
7.1.2 Docker網(wǎng)絡的主要功能 163
7.1.3 Docker網(wǎng)絡的基本類型 164
7.2 Bridge網(wǎng)絡模式的基本原理 166
7.2.1 Bridge模式的拓撲 166
7.2.2 網(wǎng)絡配置過程 167
7.2.3 容器的通信 167
7.3 Docker網(wǎng)絡的主要命令 168
7.4 通過端口映射運行容器的方法 171
7.4.1 隨機端口映射 171
7.4.2 指定端口映射 172
7.4.3 容器互聯(lián) 172
7.4.4 創(chuàng)建以Bridge為驅(qū)動的網(wǎng)絡 173
7.5 以不同網(wǎng)絡配置方式運行Nginx容器 174
7.5.1 以不同端口映射方式運行Nginx 174
7.5.2 以容器互聯(lián)方式運行Nginx 175
7.5.3 創(chuàng)建并使用自定義網(wǎng)絡運行Nginx 176
本章練習題 178
項目8 容器編排 179
8.1 Docker-Compose的基本原理 180
8.2 Docker-Compose的安裝 181
8.2.1 下載Docker-Compose安裝文件 181
8.2.2 使用Pip安裝Docker-Compose 182
8.3 Docker-Compose的主要操作命令 182
8.4 Compose文件的基本編寫方法 190
8.4.1 Compose文件的基本結構 190
8.4.2 services配置的主要指令 190
8.4.3 編寫Compose文件的注意事項 196
8.5 使用Compose編排Nginx服務 196
8.5.1 準備實驗環(huán)境 196
8.5.2 安裝Docker-Compose工具 197
8.5.3 編寫docker-compose.yml文件 198
8.5.4 構建服務并驗證 199
本章練習題 201