第一篇 基礎篇:Docker基礎
第1章 Docker簡介 2
1.1 Docker簡介 2
1.1.1 Docker的概念 5
1.1.2 Docker的背景 5
1.1.3 容器與虛擬機 7
1.1.4 Docker與容器 8
1.1.5 Docker的應用場景 9
1.2 Docker的組件 10
1.3 Docker的相關技術 11
1.4 Docker的安裝 12
1.4.1 Ubuntu下的安裝 12
1.4.2 Red Hat下的安裝 13
1.4.3 OS X下的安裝 14
1.4.4 Windows下的安裝 15
第2章 容器 17
2.1 容器的管理操作 17
2.1.1 創建容器 17
2.1.2 查看容器 20
2.1.3 啓動容器 21
2.1.4 終止容器 22
2.1.5 刪除容器 22
2.2 容器內信息獲取和命令執行 23
2.2.1 依附容器 23
2.2.2 查看容器日誌 24
2.2.3 查看容器進程 25
2.2.4 查看容器信息 25
2.2.5 容器內執行命令 26
2.3 容器的導入和導齣 26
第3章 鏡像 28
3.1 鏡像的概念 28
3.1.1 鏡像與容器 28
3.1.2 鏡像的係統結構 29
3.1.3 鏡像的寫時復製機製 30
3.2 本地鏡像的管理 30
3.2.1 查看 30
3.2.2 下載 31
3.2.3 刪除 33
3.3 創建本地鏡像 33
3.3.1 使用commit命令創建本地鏡像 33
3.3.2 使用Dockerfile創建鏡像 34
3.4 Docker Hub 40
3.4.1 Docker Hub簡介 41
3.4.2 鏡像的分發 41
3.4.3 自動化構建 43
3.4.4 創建注冊服務器 47
第4章 數據捲及容器連接 49
4.1 容器網絡基礎 49
4.1.1 暴露網絡端口 50
4.1.2 查看網絡配置 53
4.2 數據捲 54
4.2.1 創建數據捲 54
4.2.2 掛載主機目錄作為數據捲 55
4.2.3 掛載主機文件作為數據捲 57
4.2.4 數據捲容器 57
4.2.5 數據的備份與恢復 59
4.3 容器連接 60
4.3.1 容器命名 60
4.3.2 容器連接 60
4.3.3 代理連接 62
第二篇 案例篇:綜閤案例
第5章 創建SSH服務鏡像 66
5.1 基於commit命令的方式 66
5.2 基於Dockerfile的方式 70
第6章 綜閤案例1:Apache+PHP+MySQL 72
6.1 構建mysql 鏡像 72
6.1.1 編寫鏡像Dockerfile 73
6.1.2 構建和上傳鏡像 75
6.2 構建apache+php鏡像 76
6.2.1 編寫鏡像Dockerfile 77
6.2.2 構建和上傳鏡像 79
6.3 啓動容器 80
第7章 綜閤案例2:DLNNM 82
7.1 構建mongodb鏡像 83
7.1.1 編寫鏡像Dockerfile 84
7.1.2 構建和上傳鏡像 84
7.2 構建Node.js鏡像 86
7.2.1 項目源文件 86
7.2.2 編寫鏡像Dockerfile 88
7.2.3 構建和上傳鏡像 89
7.3 連接Node.js服務和MongoDB服務 89
7.3.1 製作代理鏡像mongoabassador 89
7.3.2 啓動MongoDB服務 91
7.3.3 啓動Node-Web-API服務 92
7.4 搭建前端Nginx 93
7.4.1 構建鏡像並運行 93
7.4.2 驗證Web應用 95
第8章 阿裏雲Docker開發實踐 97
8.1 阿裏雲Docker介紹 99
8.2 部署鏡像注冊服務器 102
8.3 開發 103
8.3.1 項目開發 103
8.3.2 製作和上傳鏡像 104
8.4 測試 105
8.5 部署 105
第9章 在阿裏雲上部署WordPress 107
9.1 初始化阿裏雲Docker環境 107
9.2 部署MySQL容器 109
9.3 部署WordPress容器 109
第10章 使用私有倉庫 112
10.1 使用docker-registry 112
10.2 用戶認證 115
第11章 使用Docker部署Hadoop集群 118
11.1 Hadoop簡介 118
11.2 構建Hadoop鏡像 119
11.3 構建Hadoop集群 122
11.3.1 Ambari簡介 123
11.3.2 部署Hadoop集群 123
第三篇 高級篇:高級話題、API、工具及集群管理
第12章 容器網絡 128
12.1 容器網絡的原理 128
12.1.1 基礎網絡工具 128
12.1.2 網絡空間虛擬化 131
12.1.3 網絡設備虛擬化 132
12.1.4 容器運行的4 種網絡模式 135
12.1.5 手動配置容器的網絡環境 137
12.2 配置及原理 138
12.2.1 基本配置 138
12.2.2 容器互聯配置及原理 140
12.2.3 容器內訪配置及原理 142
12.2.4 容器外訪配置及原理 143
12.2.5 創建點對點連接 144
12.3 網橋 146
12.3.1 配置網橋 146
12.3.2 構建自己的網橋 146
第13章 安全 148
13.1 命名空間 148
13.2 cgroups 151
13.3 Linux能力機製 152
第14章 DockerAPI 154
14.1 API 概述 154
14.2 綁定Docker後颱監聽接口 155
14.3 遠程API 158
14.3.1 容器相關的API 158
14.3.2 鏡像相關的API 164
14.4 平颱API 167
14.4.1 注冊服務器架構及流程 167
14.4.2 操作Hub API 169
14.5 API 實戰:docker-py庫編程 173
14.5.1 docker-py開發環境的搭建 173
14.5.2 docker-py庫編程 174
第15章 Fig 177
15.1 Fig簡介 177
15.2 Fig安裝 177
15.3 Rails開發環境配置 178
15.4 Django開發環境配置 180
15.5 WordPress開發環境配置 182
15.6 Flocker:跨主機的Fig應用 184
第16章 Kubernetes 189
16.1 Kubernetes簡介 189
16.2 核心概念 190
16.2.1 節點 190
16.2.2 Pod 190
16.2.3 服務 191
16.2.4 標簽 194
16.3 架構和組件 195
16.3.1 主控節點 195
16.3.2 從屬節點 198
16.3.3 組件交互流程 198
16.4 Kubernetes實戰 200
16.4.1 環境部署 201
16.4.2 應用操作 207
第17章 shipyard 214
17.1 簡介 214
17.2 shipyard操作 217
17.2.1 鑒權 217
17.2.2 引擎 217
17.2.3 容器 220
17.2.4 服務密鑰 222
17.2.5 Web鈎子密鑰 223
17.2.6 事件 223
17.2.7 集群信息 224
第18章 Machine+Swarm+Compose225
18.1 Machine 225
18.2 Swarm 227
18.2.1 架構和組件 228
18.2.2 實操 230
18.2.3 發現服務和調度 233
18.3 Compose 239
第四篇 附錄
附錄A 常見鏡像 242
附錄B Docker API列錶 262
附錄C 參考資料 278
· · · · · · (
收起)