Docker 技術入門與實戰

Docker 技術入門與實戰

在一台伺服器上同時運行一百個虛擬機是不可能實現的,而在一台伺服器上同時運行一千個 Docker 容器,已經成為現實。Docker 的出現會給 DevOps 技術以及整個信息技術產業的發展帶來深遠的影響。

內容簡介

《Docker技術入門與實戰》分為三大部分:Docker入門、實戰案例和高級話題。第一部分(第1~8章)介紹Docker與虛擬化技術的基本概念,包括安裝、鏡像、容器、倉庫、數據管理等;第二部分(第9~17章)通過案例介紹Docker的套用方法,包括與各種作業系統平台、SSH服務的鏡像、Web伺服器與套用、資料庫的套用、各類程式語言的接口、私有倉庫等;第三部分(第18~21章)是一些高級話題,如Docker核心技術、安全、高級網路配置、相關項目等。

《Docker技術入門與實戰》從基本原理開始入手,深入淺出地講解Docker的構建與操作,內容系統全面,可幫助開發人員、運維人員快速部署套用。

作者簡介

楊保華 博士,清華大學畢業, IBM 中國研究院研究員。主要從事數據中心網路解決方案的研發與部署,技術方向包括雲計算、軟體定義網路(SDN)、網路安全等,是國內較早從事 SDN 和網路虛擬化相關技術的推廣者,同時也是 DockerPool 開源社區的發起人之一。

戴王劍 資深架構師,從事計算機網路、伺服器架構設計,負責過多個省級項目的架構設計。熱衷開源事業,是 DockerPool 開源社區的發起人之一。

曹亞侖 85後,全棧 Web 開發者,擅長並專注於 SaaS 系統架構設計與研發, 興趣為 PaaS 和智慧型可穿戴設備。出版有譯著《Arduino 無線感測器網路實踐指南》以及開源圖書《程式設計師禪修指南》。

目錄

序一

序二

前言

作者簡介

第一部分 Docker入門

第1章 初識Docker 3

1.1 什麼是Docker 3

1.2 為什麼要使用Docker 5

1.3 虛擬化與Docker 7

1.4 本章小結 8

第2章 Docker的核心概念和安裝 9

2.1 核心概念 9

2.2 安裝Docker 11

2.3 本書環境介紹 14

2.4 本章小結 15

第3章 鏡像 16

3.1 獲取鏡像 16

3.2 查看鏡像信息 17

3.3 搜尋鏡像 20

3.4 刪除鏡像 21

3.5 創建鏡像 23

3.6 存出和載入鏡像 24

3.7 上傳鏡像 25

3.8 本章小結 25

第4章 容器 26

4.1 創建容器 26

4.2 終止容器 28

4.3 進入容器 29

4.4 刪除容器 31

4.5 導入和導出容器 31

4.6 本章小結 32

第5章 倉庫 33

5.1 Docker Hub 33

5.2 Docker Pool簡介 35

5.3 創建和使用私有倉庫 36

5.4 本章小結 38

第6章 數據管理 39

6.1 數據卷 39

6.2 數據卷容器 40

6.3 利用數據卷容器遷移數據 42

6.4 本章小結 42

第7章 網路基礎配置 43

7.1 連線埠映射實現訪問容器 43

7.2 容器互聯實現容器間通信 45

7.3 本章小結 47

第8章 使用Dockerfile創建鏡像 48

8.1 基本結構 48

8.2 指令 49

8.3 創建鏡像 53

8.4 本章小結 53

第二部分 實戰案例

第9章 作業系統 57

9.1 Busybox 57

9.2 Debian/Ubuntu 60

9.3 CentOS/Fedora 62

9.4 CoreOS 64

9.5 本章小結 69

第10章 創建支持SSH服務的鏡像 70

10.1 基於commit命令創建 70

10.2 使用Dockerfile創建 74

10.3 本章小結 79

第11章 Web伺服器與套用 80

11.1 Apache 80

11.2 Nginx 86

11.3 Tomcat 95

11.4 Weblogic 102

11.5 LAMP 119

11.5.1 下載LAMP鏡像 119

11.5.2 使用默認方式啟動LAMP容器 119

11.5.3 部署自己的PHP套用 120

11.5.4 在PHP程式中連線資料庫 120

11.6 CMS 121

11.7 本章小結 123

第12章 資料庫套用 124

12.1 MySQL 124

12.2 Oracle XE 129

12.3 MongoDB 130

12.4 本章小結 134

第13章 程式語言 136

13.1 PHP 136

13.1.1 PHP技術棧 136

13.1.2 PHP常用框架 142

13.1.3 相關資源 147

13.2 C/C++ 147

13.2.1 GCC 147

13.2.2 LLVM 150

13.2.3 Clang 150

13.3 Java 151

13.4 Python 153

13.4.1 Python技術棧 153

13.4.2 Flask 155

13.4.3 Django 157

13.4.4 相關資源 159

13.5 Perl 160

13.5.1 Perl技術棧 160

13.5.2 Catalyst 161

13.5.3 相關資源 161

13.6 Ruby 162

13.6.1 Ruby技術棧 162

13.6.2 JRuby 163

13.6.3 Ruby on Rails 164

13.6.4 Sinatra 165

13.6.5 相關資源 166

13.7 JavaScript 166

13.7.1 JavaScript技術棧 166

13.7.2 Node.js 167

13.7.3 Express 168

13.7.4 AngularJS 170

13.7.5 相關資源 171

13.8 Go 172

13.8.1 Go技術棧 172

13.8.2 Beego 174

13.8.3 Revel 175

13.8.4 Martini 177

13.8.5 相關資源 179

13.9 本章小結 180

第14章 使用私有倉庫 181

14.1 使用docker-registry 181

14.2 用戶認證 183

14.3 使用私有倉庫批量上傳鏡像 186

14.4 倉庫配置檔案 189

14.5 本章小結 196

第15章 構建Docker容器集群 197

15.1 使用自定義網橋連線跨主機容器 197

15.2 使用Ambassador容器 199

15.3 本章小結 200

第16章 在公有雲上使用Docker 202

16.1 公有雲上安裝Docker 202

16.1.1 CentOS 6.5系統 202

16.1.2 Ubuntu 14.04系統 207

16.2 阿里雲Docker的特色服務 207

16.3 本章小結 213

第17章 Docker實踐之道 214

17.1 個人學習之道 214

17.1.1 溫故而知新 215

17.1.2 眾人拾柴火焰高 216

17.2 技術創業之道 217

17.3 中小型企業實踐之道 218

17.3.1 開發、測試和發布中套用Docker 218

17.3.2 套用Docker到生產環境 220

17.4 本章小結 220

第三部分 高級話題

第18章 Docker核心技術 223

18.1 基本架構 223

18.2 命名空間 225

18.3 控制組 227

18.4 聯合檔案系統 229

18.5 Docker網路實現 230

18.6 本章小結 232

第19章 Docker安全 233

19.1 命名空間隔離的安全 233

19.2 控制組資源控制的安全 234

19.3 核心能力機制 234

19.4 Docker服務端的防護 235

19.5 其他安全特性 236

19.6 本章小結 237

第20章 高級網路配置 238

20.1 網路啟動與配置參數 238

20.2 配置容器DNS和主機名 240

20.3 容器訪問控制 241

20.4 映射容器連線埠到宿主主機的實現 243

20.5 配置docker0網橋 244

20.6 自定義網橋 245

20.7 創建一個點到點連線 246

20.8 工具和項目 247

20.9 本章小結 251

第21章 Docker相關項目 252

21.1 平台即服務方案 252

21.2 持續集成 253

21.3 管理工具 256

21.4 編程開發 261

21.5 其他項目 262

21.6 本章小結 267

附 錄

附錄A 常見問題匯總 270

附錄B 常見倉庫 276

附錄C Docker命令查詢 294

附錄D Docker資源連結 299

相關詞條

熱門詞條

聯絡我們