《第一本Docker書(修訂版)》是2020年4月人民郵電出版社出版的圖書,作者是[澳]詹姆斯·特恩布爾(James Turnbull)。
基本介紹
- 中文名:第一本Docker書(修訂版)
- 作者:[澳]詹姆斯·特恩布爾(James Turnbull)
- 出版社:人民郵電出版社
- 出版時間:2020年4月
- 頁數:264 頁
- 定價:59 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787115419330
內容簡介,圖書目錄,
內容簡介
Docker是一個開源的套用容器引擎,開發 者可以利用Docker打包自己的套用以及依賴包到一個可移植的容器中,然後發布到任何流行的Linux機器上,也可以實現虛擬化。
本書由Docker公司前服務與支持副總裁James Turnbull編寫,是Docker開發指南。本書專注於Docker 1.9及以上版本,指導讀者完成Docker的安裝、部署、管理和擴展,帶領讀者經歷從測試到生產的整個開發生命周期,讓讀者了解Docker適用於什麼場景。書中先介紹Docker及其組件的基礎知識,然後介紹用Docker構建容器和服務來完成各種任務:利用Docker為新項目建立測試環境,演示如何使用持續集成的工作流集成Docker,如何構建應用程式服務和平台,如何使用Docker的API,如何擴展Docker。
圖書目錄
第 1章 簡介 1
1.1 Docker簡介 2
1.1.1 提供一個簡單、輕量的建模方式 2
1.1.2 職責的邏輯分離 3
1.1.3 快速、高效的開發生命周期 3
1.1.4 鼓勵使用面向服務的架構 3
1.2 Docker組件 3
1.2.1 Docker客戶端和伺服器 4
1.2.2 Docker鏡像 5
1.2.3 Registry 5
1.2.4 容器 5
1.3 能用Docker做什麼 6
1.4 Docker與配置管理 7
1.5 Docker的技術組件 8
1.6 本書的內容 9
1.7 Docker資源 10
第 2章 安裝Docker 11
2.1 安裝Docker的先決條件 12
2.2 在Ubuntu和Debian中安裝Docker 13
2.2.1 檢查前提條件 14
2.2.2 安裝Docker 16
2.2.3 Docker與UFW 17
2.3 在Red Hat和Red Hat系發行版中安裝Docker 17
2.3.1 檢查前提條件 18
2.3.2 安裝Docker 19
2.3.3 在Red Hat系發行版中啟動Docker守護進程 21
2.4 在OS X中安裝Docker Toolbox 22
2.4.1 在OS X中安裝Docker Toolbox 22
2.4.2 在OS X中啟動Docker Toolbox 23
2.4.3 測試Docker Toolbox 24
2.5 在Windows中安裝Docker Toolbox 24
2.5.1 在Windows中安裝Docker Toolbox 25
2.5.2 在Windows中啟動Docker Toolbox 25
2.5.3 測試Docker Toolbox 26
2.6 使用本書的Docker Toolbox示例 26
2.7 Docker安裝腳本 27
2.8 二進制安裝 28
2.9 Docker守護進程 28
2.9.1 配置Docker守護進程 29
2.9.2 檢查Docker守護進程是否正在運行 30
2.10 升級Docker 31
2.11 Docker用戶界面 32
2.12 小結 32
第3章 Docker入門 33
3.1 確保Docker已經就緒 33
3.2 運行我們的第 一個容器 34
3.3 使用第 一個容器 36
3.4 容器命名 38
3.5 重新啟動已經停止的容器 39
3.6 附著到容器上 40
3.7 創建守護式容器 40
3.8 容器內部都在幹些什麼 41
3.9 Docker日誌驅動 42
3.10 查看容器內的進程 43
3.11 Docker統計信息 44
3.12 在容器內部運行進程 44
3.13 停止守護式容器 45
3.14 自動重啟容器 46
3.15 深入容器 47
3.16 刪除容器 48
3.17 小結 49
第4章 使用Docker鏡像和倉庫 50
4.1 什麼是Docker鏡像 50
4.2 列出鏡像 52
4.3 拉取鏡像 55
4.4 查找鏡像 57
4.5 構建鏡像 58
4.5.1 創建Docker Hub賬號 59
4.5.2 用Docker的commit命令創建鏡像 60
4.5.3 用Dockerfile構建鏡像 62
4.5.4 基於Dockerfile構建新鏡像 65
4.5.5 指令失敗時會怎樣 67
4.5.6 Dockerfile和構建快取 68
4.5.7 基於構建快取的Dockerfile模板 69
4.5.8 查看新鏡像 70
4.5.9 從新鏡像啟動容器 70
4.5.10 Dockerfile指令 74
4.6 將鏡像推送到Docker Hub 88
4.7 刪除鏡像 92
4.8 運行自己的Docker Registry 94
4.8.1 從容器運行Registry 94
4.8.2 測試新Registry 95
4.9 其他可選Registry服務 96
4.10 小結 96
第5章 在測試中使用Docker 97
5.1 使用Docker測試靜態網站 97
5.1.1 Sample網站的初始Dockerfile 98
5.1.2 構建Sample網站和Nginx鏡像 100
5.1.3 從Sample網站和Nginx鏡像構建容器 102
5.1.4 修改網站 104
5.2 使用Docker構建並測試Web應用程式 105
5.2.1 構建Sinatra應用程式 105
5.2.2 創建Sinatra容器 107
5.2.3 擴展Sinatra應用程式來使用Redis 110
5.2.4 將Sinatra應用程式連線到Redis容器 113
5.2.5 Docker內部連網 114
5.2.6 Docker Networking 119
5.2.7 使用容器連線來通信 131
5.2.8 連線容器小結 132
5.3 Docker用於持續集成 132
5.3.1 構建Jenkins和Docker伺服器 133
5.3.2 創建新的Jenkins作業 137
5.3.3 運行Jenkins作業 141
5.3.4 與Jenkins作業有關的下一步 143
5.3.5 Jenkins設定小結 143
5.4 多配置的Jenkins 143
5.4.1 創建多配置作業 143
5.4.2 測試多配置作業 147
5.4.3 Jenkins多配置作業小結 149
5.5 其他選擇 149
5.5.1 Drone 149
5.5.2 Shippable 149
5.6 小結 149
第6章 使用Docker構建服務 151
6.1 構建第 一個套用 151
6.1.1 Jekyll基礎鏡像 152
6.1.2 構建Jekyll基礎鏡像 153
6.1.3 Apache鏡像 153
6.1.4 構建Jekyll Apache鏡像 154
6.1.5 啟動Jekyll網站 155
6.1.6 更新Jekyll網站 158
6.1.7 備份Jekyll卷 159
6.1.8 擴展Jekyll示例網站 161
6.2 使用Docker構建一個Java套用服務 161
6.2.1 WAR檔案的獲取程式 161
6.2.2 獲取WAR檔案 162
6.2.3 Tomecat7套用伺服器 163
6.2.4 運行WAR檔案 165
6.2.5 基於Tomcat套用伺服器的構建服務 166
6.3 多容器的套用棧 169
6.3.1 Node.js鏡像 169
6.3.2 Redis基礎鏡像 172
6.3.3 Redis主鏡像 173
6.3.4 Redis副本鏡像 174
6.3.5 創建Redis後端集群 174
6.3.6 創建Node容器 178
6.3.7 捕獲套用日誌 180
6.3.8 Node程式棧的小結 183
6.4 不使用SSH管理Docker容器 183
6.5 小結 185
第7章 Docker編配和服務發現 186
7.1 Docker Compose 187
7.1.1 安裝Docker Compose 187
7.1.2 獲取示例套用 188
7.1.3 docker-compose.yml檔案 191
7.1.4 運行Compose 193
7.1.5 使用Compose 195
7.1.6 Compose小結 197
7.2 Consul、服務發現和Docker 197
7.2.1 構建Consul鏡像 199
7.2.2 在本地測試Consul容器 202
7.2.3 使用Docker運行Consul集群 203
7.2.4 啟動具有自啟動功能的Consul節點 206
7.2.5 啟動其餘節點 207
7.2.6 配合Consul,在Docker里運行一個分散式服務 212
7.3 Docker Swarm 221
7.3.1 安裝Swarm 222
7.3.2 創建Swarm集群 222
7.3.3 創建容器 225
7.3.4 過濾器 227
7.3.5 策略 229
7.3.6 小結 230
7.4 其他編配工具和組件 230
7.4.1 Fleet和etcd 230
7.4.2 Kubernetes 231
7.4.3 Apache Mesos 231
7.4.4 Helios 231
7.4.5 Centurion 231
7.5 小結 231
第8章 使用Docker API 233
8.1 Docker API 233
8.2 初識Remote API 234
8.3 測試Docker Remote API 236
8.3.1 通過API來管理Docker鏡像 237
8.3.2 通過API管理Docker容器 239
8.4 改進TProv套用 242
8.5 對Docker Remote API進行認證 246
8.5.1 建立證書授權中心 246
8.5.2 創建伺服器的證書籤名請求和密鑰 248
8.5.3 配置Docker守護進程 250
8.5.4 創建客戶端證書和密鑰 251
8.5.5 配置Docker客戶端開啟認證功能 253
8.6 小結 254
第9章 獲得幫助和對Docker進行改進 255
9.1 獲得幫助 255
9.1.1 Docker用戶、開發郵件列表及論壇 255
9.1.2 IRC上的Docker 256
9.1.3 GitHub上的Docker 256
9.2 報告Docker的問題 257
9.3 搭建構建環境 257
9.3.1 安裝Docker 257
9.3.2 安裝原始碼和構建工具 257
9.3.3 檢出原始碼 258
9.3.4 貢獻文檔 258
9.3.5 構建開發環境 259
9.3.6 運行測試 261
9.3.7 在開發環境中使用Docker 261
9.3.8 發起pull request 262
9.3.9 批准合併和維護者 263
9.4 小結 264