Docker容器技術與高可用實戰(第2版)
肖睿 劉震
商品描述
本書專為具備 Linux 基礎的讀者精心打造,致力於深入闡釋 Docker 在實際生產環境中的企業級應用。書中摒棄枯燥理論,以實戰項目案例為切入點,引領讀者逐步掌握應用運維的核心工作內容。本書系統講解Docker技術體系,涵蓋核心概念與實戰應用。第1章至第7章詳解Docker基礎架構,包括鏡像/容器管理、Docker Desktop、Compose編排、倉庫與Swarm集群;第8章至第12章通過ELKF監控、Kubernetes集群部署、CI/CD架構、AI大模型及微服務等實戰場景,強化項目實戰能力。本書以“概念→工具→實戰”為主線,每章配圖解原理、案例演示及練習題,附配套實驗環境所需軟件工具,兼顧學習系統性與實踐性。 本書既可作為各類院校雲計算相關專業課程的教材,亦可作為雲計算容器技術培訓班的教材。非常適合雲計算與運維工程師、DevOps實踐者、高校相關專業學生、項目經理及廣大雲計算運維技術愛好者自學使用,還可作為分布式系統與雲計算研究人員的參考用書。
作者簡介
肖睿 任職於北京課工場教育科技有限公司。課工場是專註互聯網教育的生態平臺,匯聚了中國和北美數百位來自知名互聯網企業的行業大咖,向尋求就業和技術提升的人群提供直播、錄播、面授等多模式教學場景,並通過遍布全國的線下服務中心提供成熟的學習服務,形成完善的“互聯網+教育”解決方案。同時,課工場也為高校、企業、行業提供教育技術賦能,依托Transformer智能教育生態平臺,打造智慧校園、企業大學、行業培訓的教育場景,提供一站式教育解決方案。
目錄大綱
【章名目錄】
第 1章 Docker概述與安裝
第 2章 Docker鏡像管理
第3章 Docker容器管理
第4章 Docker Desktop
第5章 Docker Compose
第6章 Docker倉庫管理
第7章 Docker Swarm
第8章 Docker實戰之ELKF日誌監控系統
第9章 Docker實戰之部署Kubernetes集群
第 10章 Docker實戰之CI/CD架構發布應用
第 11章 Docker實戰之AI大模型部署
第 12章 Docker實戰之微服務平臺架構
【詳細目錄】
第 1章 Docker概述與安裝 ................. 1
1.1 Docker概述............................. 1
1.1.1 容器技術簡介 ................ 1
1.1.2 Docker的起源與發展..... 2
1.1.3 Docker的核心概念......... 3
1.1.4 Docker架構解析 ............ 4
1.1.5 Docker與其他容器技術的比較 .................... 5
1.2 Docker的應用場景 ................. 7
1.2.1 應用於微服務 ................ 7
1.2.2 應用於持續集成與持續部署................................ 8
1.2.3 應用於雲計算 .............. 10
1.2.4 應用於大數據 .............. 11
1.3 Docker的安裝方法 ............... 13
1.3.1 環境準備...................... 13
1.3.2 Docker引擎的安裝....... 14
1.3.3 驗證Docker的安裝....... 16
1.4 本章小結............................... 17
1.5 本章作業............................... 18
第 2章 Docker鏡像管理................... 19
2.1 Docker鏡像概述 ................... 19
2.1.1 Docker鏡像的基本概念.............................. 19
2.1.2 Docker鏡像的特點與優勢.............................. 21
2.1.3 Docker鏡像的分類與獲取.............................. 22
2.2 Docker鏡像的創建方法........ 23
2.2.1 從Docker Hub中獲取鏡像.............................. 23
2.2.2 自定義構建鏡像 .......... 25
2.2.3 從現有容器中創建新鏡像...............................25
2.3 Docker鏡像的管理 ................27
2.3.1 Docker鏡像管理命令 ...27
2.3.2 Docker鏡像標簽管理 ...30
2.3.3 Docker鏡像的拉取與推送...............................32
2.4 Dockerfile的使用...................33
2.4.1 Dockerfile簡介..............33
2.4.2 Dockerfile常用指令......34
2.4.3 使用Dockerfile構建和運行鏡像.......................35
2.5 本章小結 ...............................38
2.6 本章作業 ...............................38
第3章 Docker容器管理...................40
3.1 Docker容器的基本操作 ........40
3.1.1 Docker容器創建與使用...40
3.1.2 Docker容器資源監控與日誌管理.......................45
3.2 Docker容器的互聯 ................46
3.2.1 Docker容器網絡概述.....47
3.2.2 連接容器到網絡...........48
3.2.3 Docker容器間通信 .......52
3.3 Docker容器的數據遷移 ........55
3.3.1 數據遷移概述...............55
3.3.2 使用數據卷進行數據遷移...............................56
3.3.3 使用綁定掛載進行數據遷移...............................59
3.3.4 使用導出和導入命令進行數據遷移...............61
3.4 修改Docker容器的存儲目錄 .......................................63
3.4.1 通過Docker配置文件修改存儲目錄 .............. 63
3.4.2 通過符號鏈接修改存儲目錄...................... 64
3.5 本章小結............................... 66
3.6 本章作業............................... 66
第4章 Docker Desktop................... 68
4.1 Docker Desktop概述 ............. 68
4.1.1 Docker Desktop的主要功能.............................. 68
4.1.2 Docker Desktop的特點.............................. 69
4.1.3 Docker Desktop的使用場景.............................. 69
4.1.4 WSL2概述.................... 70
4.2 Docker Desktop的安裝 ......... 71
4.3 案例:Docker Desktop快速啟動Ubuntu桌面系統 ........... 75
4.3.1 背景描述...................... 75
4.3.2 快速啟動Ubuntu桌面系統.............................. 76
4.3.3 修改界面分辨率及訪問權限密碼...................... 78
4.4 Docker Desktop的常用操作... 80
4.4.1 使用Docker Desktop的中文版.......................... 80
4.4.2 Docker Desktop常用操作.............................. 82
4.4.3 Docker Desktop鏡像監控.............................. 83
4.5 本章小結............................... 86
4.6 本章作業............................... 86
第5章 Docker Compose................. 87
5.1 Docker Compose概述及安裝部署 ...................................... 87
5.1.1 Docker Compose的安裝.............................. 88
5.1.2 Docker Compose的卸載.............................. 89
5.2 Docker Compose的命令及環境變量 ...............................89
5.2.1 Docker Compose的命令...............................89
5.2.2 Docker Compose的環境變量.......................91
5.3 Docker Compose配置文件詳解 .......................................92
5.3.1 Docker Compose配置文件模板.......................92
5.3.2 版本聲明及定義服務 ...94
5.3.3 定義網絡及數據卷 .......98
5.4 案例:Docker Compose管理多容器應用實戰....................99
5.4.1 背景描述.......................99
5.4.2 準備項目目錄.............100
5.4.3 編寫各種配置文件 .....100
5.4.4 運行測試項目.............102
5.5 本章小結 .............................103
5.6 本章作業 .............................103
第6章 Docker倉庫管理................. 105
6.1 Docker倉庫概述..................105
6.1.1 Docker倉庫的概念和作用.............................105
6.1.2 Docker倉庫的類型 .....106
6.2 Docker Hub公共鏡像倉庫的使用 .....................................107
6.2.1 Linux服務器登錄Docker Hub .................107
6.2.2 將本地鏡像推送到Docker Hub .................107
6.3 案例1:Docker私有倉庫的部署及管理 .........................110
6.3.1 背景描述.....................111
6.3.2 部署Harbor服務的環境準備.....................111
6.3.3 部署Harbor服務..........111
6.3.4 Harbor運維管理..........116
6.4 案例2:Docker公有雲倉庫的部署及管理......................... 121
6.4.1 背景描述.................... 121
6.4.2 雲端部署管理Docker倉庫............................ 122
6.4.3 客戶端登錄使用Docker倉庫 ................ 124
6.5 本章小結............................. 126
6.6 本章作業............................. 126
第7章 Docker Swarm................... 128
7.1 Docker Swarm概述 ............. 128
7.1.1 Docker Swarm的基本特性............................ 128
7.1.2 關鍵概念.................... 129
7.1.3 工作原理.................... 130
7.2 案例1:部署Docker Swarm集群 .................................... 132
7.2.1 背景描述.................... 132
7.2.2 Docker Swarm部署前的環境準備.................... 133
7.2.3 部署Docker Swarm集群............................ 134
7.3 案例2:管理Docker Swarm集群 .................................... 136
7.3.1 背景描述.................... 136
7.3.2 管理Docker Swarm節點............................ 137
7.3.3 管理Docker Swarm服務............................ 139
7.4 本章小結............................. 144
7.5 本章作業............................. 144
第8章 Docker實戰之ELKF日誌監控系統............................ 145
8.1 ELKF日誌監控系統概述.... 145
8.1.1 Elasticsearch介紹 ....... 146
8.1.2 Logstash介紹.............. 147
8.1.3 Kibana介紹 ................ 148
8.1.4 Filebeat介紹............... 149
8.2 案例:Docker部署ELKF日誌監控系統......................149
8.2.1 背景描述.....................149
8.2.2 部署前的環境準備 .....150
8.2.3 Docker部署Elasticsearch服務.............................152
8.2.4 Docker部署Nginx容器.............................155
8.2.5 Docker部署Logstash服務.............................157
8.2.6 Docker部署Kibana 服務.............................159
8.2.7 Docker部署Filebeat服務.............................162
8.3 本章小結 .............................167
8.4 本章作業 .............................167
第9章 Docker實戰之部署Kubernetes集群................. 169
9.1 Kubernetes概述....................169
9.1.1 Kubernetes的起源與發展.............................169
9.1.2 為什麼要用Kubernetes...................170
9.1.3 Kubernetes的系統框架.............................171
9.1.4 Kubernetes的計算模型.............................172
9.2 Kubernetes與Docker的關系 .....................................174
9.3 案例:使用Docker Desktop部署Kubernetes ...................175
9.3.1 背景描述.....................176
9.3.2 安裝與配置Kubernetes...................176
9.3.3 Kubernetes部署Docker項目 .................182
9.4 本章小結 .............................186
9.5 本章作業 .............................187
第 10章 Docker實戰之CI/CD架構發布應用.......................... 188
10.1 CI/CD概述 ........................ 188
10.1.1 CI/CD的核心概念.... 189
10.1.2 CI/CD架構的關鍵設計原則.................. 189
10.1.3 常見的CI/CD架構.... 189
10.2 CI/CD工具鏈 .................... 191
10.2.1 CI/CD工具鏈的分類.......................... 191
10.2.2 Jenkins介紹.............. 192
10.2.3 SVN介紹.................. 193
10.3 案例:Jenkins+SVN+Docker Swarm實現CI/CD項目發布 ................ 194
10.3.1 背景描述.................. 194
10.3.2 部署前環境準備 ...... 195
10.3.3 容器化部署Jenkins服務.......................... 196
10.3.4 部署Subversion服務.......................... 200
10.3.5 部署Docker Swarm集群.......................... 203
10.3.6 配置Jenkins服務 ...... 203
10.3.7 構建項目並訪問測試...........................211
10.4 本章小結........................... 214
10.5 本章作業........................... 214
第 11章 Docker實戰之AI大模型部署 ................................. 215
11.1 AI大模型概述................... 215
11.1.1 什麼是AI大模型 ...... 215
11.1.2 AI大模型的分類 ...... 216
11.1.3 AI大模型的應用場景.......................... 217
11.2 Ollama介紹 ....................... 217
11.2.1 Ollama的特點........... 218
11.2.2 Ollama的運行原理....218
11.3 案例:容器化部署應用DeepSeek AI大模型...........219
11.3.1 背景描述...................219
11.3.2 部署前的環境準備 ...220
11.3.3 安裝Ollama服務 .......220
11.3.4 部署DeepSeek大模型.......................222
11.3.5 與DeepSeek大模型對話...........................224
11.3.6 Docker部署Open WebUI服務...........................226
11.3.7 通過Web界面對話DeepSeek大模型.......226
11.4 本章小結............................229
11.5 本章作業............................229
第 12章 Docker實戰之微服務平臺架構 ................................. 231
12.1 微服務概述........................231
12.1.1 微服務關系介紹.......232
12.1.2 Spring Boot介紹........232
12.1.3 為什麼使用Docker 部署微服務...............233
12.2 案例:Docker部署Spring Boot項目............................234
12.2.1 背景描述...................234
12.2.2 部署前的環境準備 ...235
12.2.3 部署MySQL..............237
12.2.4 拉取項目...................237
12.2.5 測試運行Spring Boot項目...........................240
12.2.6 打包項目...................244
12.2.7 Docker部署Spring Boot項目...........................247
12.3 本章小結............................249
12.4 本章作業............................249

