基本信息
【作者】
【編輯】
【ISBN】
【日期】
【版次】 1
【印次】 1
【頁數】
【】
【開本】
【定價】
圖書簡介
本書從Docker基礎理論出發,更側重實際業務中的技術與套用。重點在於後半部分在Amazon EC2、Google Colud Platform等平台上的使用方法,以及Rails與Django應用程式構建方法等,都是能夠直接運用於實操的技術點。本書是利用Docker構建開發系統、測試系統、作業系統的傑出指南,非常適合一線開發人員。
目錄
第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