第1章 Docker 1
1.1 虛擬機與Docker 3
1.1.1 虛擬機 4
1.1.2 Docker 5
1.1.3 Linux容器 6
1.2 Docker鏡像與容器 8
第2章 安裝Docker 11
2.1 Linux 11
2.1.1 自動安裝腳本 11
2.1.2 Ubuntu 11
2.1.3 RedHat Enterprise Linux、CentOS 12
2.1.4 使用最新二進製文件 12
2.2 Mac OS X 13
2.3 Windows 16
第3章 使用Docker 23
3.1 使用search命令搜索鏡像 23
3.2 使用pull命令下載鏡像 25
3.3 使用images命令列齣鏡像目錄 25
3.4 使用run命令創建容器 25
3.5 使用ps命令查看容器列錶 26
3.6 使用start命令啓動容器 26
3.7 使用restart命令重啓容器 27
3.8 使用attach命令連接容器 27
3.9 使用exec命令從外部運行容器內的命令 27
3.10 使用stop命令終止容器 28
3.11 使用rm命令刪除容器 28
3.12 使用rmi命令刪除鏡像 29
第4章 創建Docker鏡像 31
4.1 熟悉Bash 31
4.2 編寫Dockerfile 36
4.3 使用build命令創建鏡像 37
第5章 查看Docker 39
5.1 使用history命令查看鏡像曆史 39
5.2 使用cp命令復製文件 40
5.3 使用commit命令從容器的修改中創建鏡像 40
5.4 使用diff命令檢查容器文件的修改 40
5.5 使用inspect命令查看詳細信息 41
第6章 靈活使用Docker 43
6.1 搭建Docker私有倉庫 43
6.1.1 存儲鏡像數據到本地 43
6.1.2 使用push命令上傳鏡像 44
6.1.3 存儲鏡像數據到Amazon S3 45
6.1.4 使用默認認證 46
6.2 連接Docker的容器 52
6.3 連接到其他服務器的Docker 容器 53
6.4 使用Docker數據捲 56
6.5 使用Docker數據捲容器 59
6.6 創建Docker基礎鏡像 60
6.6.1 創建Ubuntu基礎鏡像 60
6.6.2 創建CentOS基礎鏡像 61
6.6.3 創建空基礎鏡像 62
6.7 在Docker內運行Docker 64
第7章 詳細瞭解Dockerfile 67
7.1 .dockerignore 68
7.2 FROM 68
7.3 MAINTAINER 69
7.4 RUN 69
7.5 CMD 70
7.6 ENTRYPOINT 71
7.7 EXPOSE 73
7.8 ENV 73
7.9 ADD 74
7.10 COPY 76
7.11 VOLUME 77
7.12 USER 77
7.13 WORKDIR 78
7.14 ONBUILD 79
第8章 使用Docker部署應用程序 81
8.1 嚮一颱服務器部署應用程序 81
8.1.1 在開發者PC安裝Git並創建倉庫 82
8.1.2 在開發者PC中使用Node.js編寫Web服務器 83
8.1.3 在開發者PC中編寫Dockerfile文件 84
8.1.4 在開發者PC中生成SSH 密鑰 85
8.1.5 在服務器端安裝Git並創建倉庫 86
8.1.6 在服務器中安裝Docker 87
8.1.7 在服務器中安裝SSH密鑰 88
8.1.8 在服務器中安裝Git Hook 89
8.1.9 在開發者PC中推送源代碼 90
8.2 嚮多颱服務器部署應用程序 91
8.2.1 在開發者PC安裝Git並創建倉庫 92
8.2.2 在開發者PC中使用Node.js編寫Web 服務器 93
8.2.3 在開發者PC中編寫Dockerfile文件 94
8.2.4 在開發者PC中生成SSH密鑰 95
8.2.5 在部署服務器安裝Git並創建倉庫 96
8.2.6 在部署服務器中生成SSH密鑰 97
8.2.7 在部署服務器中安裝Docker 98
8.2.8 在部署服務器中安裝Docker注冊服務器 99
8.2.9 在部署服務器中安裝SSH密鑰 100
8.2.10 在部署服務器中安裝Git Hook 101
8.2.11 在應用程序服務器中安裝Docker 103
8.2.12 在應用程序服務器中安裝SSH 密鑰 104
8.2.13 在開發者PC中推送源代碼 105
第9章 Docker監控 107
9.1 編寫監控服務器Dockerfile 108
9.2 編寫應用程序服務器Dockerfile 111
9.3 在Web 瀏覽器中查看圖錶 114
第10章 在Amazon Web Services中使用Docker 117
10.1 在Amazon EC2中使用Docker 117
10.2 在AWS Elastic Beanstalk中使用Docker 119
10.2.1 在AWS控製颱部署Docker應用程序 119
10.2.2 使用Docker Hub公開倉庫鏡像 129
10.2.3 使用Docker Hub私有倉庫的鏡像 131
10.2.4 使用Git部署Elastic Beanstalk Docker應用程序 139
第11章 在Google Cloud Platform中使用Docker 145
11.1 安裝Goolge Cloud SDK 145
11.2 在Compute Engine中使用Docker 147
11.3 在Container Engine中使用Docker 148
第12章 使用Docker Hub 151
12.1 加入Docker Hub 151
12.2 使用push命令上傳鏡像 153
12.3 創建Docker Hub私有倉庫 155
12.4 使用Docker Hub Automated Build 157
第13章 使用Docker Remote API 167
13.1 使用Docker Remote API Python庫 169
13.1.1 創建並啓動容器 169
13.1.2 創建鏡像 173
13.1.3 顯示容器列錶 175
13.1.4 顯示鏡像列錶 176
13.1.5 其他示例與函數 176
13.2 使用Docker Remote API Python庫進行HTTPS通信 187
13.2.1 創建證書 187
13.2.2 使用Python庫 191
第14章 使用CoreOS 193
14.1 在VirtualBox中安裝CoreOS 196
使用systemd運行服務 205
14.2 使用Vagrant安裝CoreOS 206
14.3 使用etcd 211
14.3.1 創建etcd鍵與目錄 211
14.3.2 輸齣etcd鍵與目錄列錶 212
14.3.3 設置自動刪除etcd鍵與目錄 212
14.3.4 監視etcd鍵 213
14.3.5 etcd其他命令 214
14.4 使用fleet 214
14.4.1 輸齣fleet機器列錶 215
14.4.2 使用fleet運行Unit 215
14.4.3 輸齣fleet Unit列錶 217
14.4.4 查看fleet Unit狀態 217
14.4.5 測試fleet的自動恢復功能 218
14.4.6 使用fleet專用選項 219
14.4.7 靈活使用fleet Unit文件模闆 222
14.4.8 靈活使用fleet sidekick模型 224
14.4.9 fleet其他命令 227
14.5 在雲服務中使用CoreOS 227
14.5.1 在Amazon EC2中使用CoreOS 227
14.5.2 在Google Compute Engine中使用CoreOS 229
第15章 使用Docker搭建WordPress 博客 231
15.1 編寫WordPress Dockerfile文件 232
15.2 編寫MySQL數據庫Dockerfile文件 233
15.3 創建WordPress與數據庫容器 236
第16章 使用Docker構建Ruby on Rails應用 237
16.1 安裝Ruby與Rails 238
16.2 編寫Rails Dockerfile 240
16.3 編寫PostgreSQL數據庫Dockerfile 文件 245
16.4 創建Rails與數據庫容器 247
第17章 使用Docker構建Django應用 249
17.1 安裝Django 250
17.2 編寫Django Dockerfile文件 253
17.3 編寫Oracle數據庫Dockerfile文件 258
17.4 創建Django與數據庫容器 261
第18章 Docker應用案例 263
18.1 與負載平衡相關的自動伸縮 263
18.2 整閤開發、測試、運營 264
18.3 輕鬆遷移服務 265
18.4 用於測試 267
第19章 Docker命令與選項列錶 269
19.1 attach 270
19.2 build 271
19.3 Commit 273
19.4 cp 273
19.5 create 274
19.6 diff 277
19.7 events 277
19.8 exec 278
19.9 export 280
19.10 history 280
19.11 images 281
19.12 import 281
19.13 info 282
19.14 inspect 283
19.15 kill 284
19.16 load 284
19.17 login 285
19.18 logout 286
19.19 logs 286
19.20 port 287
19.21 pause 287
19.22 ps 287
19.23 pull 288
19.24 push 289
19.25 restart 289
19.26 rm 289
19.27 rmi 290
19.28 run 291
19.29 save 296
19.30 search 297
19.31 start 297
19.32 stop 298
19.33 tag 298
19.34 top 299
19.35 unpause 299
19.36 version 300
19.37 wait 300
附錄 編譯Docker 301
· · · · · · (
收起)