Docker開發指南

Docker開發指南
定價:474
NT $ 412
 

內容簡介

Docker容器輕量和可移植的特性尤其適用於動態和分布式的環境,它的興起給軟件開發流程帶來了一場革命。Docker開發指南對Docker進行了全面講解,包括開發、生產以至維護的整個軟件生命周期,並對其中可能出現的一些問題進行了探討,如軟件版本差異、開發環境與生產環境的差異、系統安全問題,等等。

Adrian Mouat,Container Solutions公司首席科學家。參與過很多軟件項目,既有小型的Web應用,也有大型數據分析軟件。
 

目錄

前言xi
第一部分 背景與基礎
第 1章何謂容器,為何需要它 3
1.1 容器與虛擬機的比較 4
1.2 Docker與容器 5
1.3 Docker的歷史 7
1.4 插件與基礎設施 8
1.564位Linux 9
第 2章安裝 10
2.1 在Linux上安裝Docker 10
2.1.1 將SELinux置於寬容模式下運行 11
2.1.2 不使用sudo命令執行Docker 11
2.2 在MacOS及Windows上安裝Docker 12
2.3 快速確認 13
第 3章邁出第一步 15
3.1 運行第一個鏡像 15
3.2 基本命令 16
3.3 通過Dockerfile創建鏡像 20
3.4 使用寄存服務 22
3.5 使用Redis官方鏡像 24
3.6 總結 27
第 4章Docker基本概念 28
4.1 Docker系統架構 28
4.1.1 底層技術 29
4.1.2 周邊技術 30
4.1.3 Docker托管 31
4.2 鏡像是如何生成的 32
4.2.1 構建環境的上下文 32
4.2.2 鏡像層 33
4.2.3 緩存 35
4.2.4 基礎鏡像 35
4.2.5 Dockerfile指令 37
4.3 使容器與世界相連 39
4.4 容器互聯 40
4.5 利用數據卷和數據容器管理數據 41
4.5.1 共享數據 43
4.5.2 數據容器 44
4.6 Docker常用命令 45
4.6.1 run命令 46
4.6.2 容器管理 48
4.6.3 Docker信息 50
4.6.4 容器信息 50
4.6.5 鏡像管理 52
4.6.6 使用寄存服務器 54
4.7 總結 55
第二部分 Docker與軟件生命周期
第 5章在開發中應用Docker 59
5.1 說聲「HelloWorld!」 59
5.2 通過Compose實現自動化 67
5.3 總結 69
第 6章創建一個簡單的Web應用 71
6.1 創建一個基本網頁 72
6.2 利用現有鏡像 73
6.3 實現緩存功能 78
6.4 微服務 81
6.5 總結 81
第 7章鏡像分發 82
7.1 鏡像及鏡像庫的命名方式 82
7.2 DockerHub 83
7.3 自動構建 85
7.4 私有分發 86
7.4.1 運行自己的寄存服務 86
7.4.2 商業寄存服務 92
7.5 縮減鏡像大小 92
7.6 鏡像出處 94
7.7 總結 94
第 8章Docker持續集成與測試 95
8.1 為identidock添加單元測試 95
8.2 創建Jenkins容器 100
8.3 推送鏡像 106
8.3.1 給鏡像正確的標簽 106
8.3.2 准生產及生產環境 108
8.3.3 鏡像數量激增的問題 108
8.3.4 使用Docker部署Jenkinsslaves 109
8.4 備份Jenkins數據 109
8.5 持續集成的托管解決方案 109
8.6 測試與微服務 110
8.7 總結 111
第 9章部署容器 113
9.1 通過DockerMachine配置資源 114
9.2 使用代理 117
9.3 執行選項 122
9.3.1 shell腳本 122
9.3.2 使用進程管理器(或用systemd控制所有進程) 124
9.3.3 使用配置管理工具 127
9.4 主機配置 130
9.4.1 選擇操作系統 130
9.4.2 選擇存儲驅動程序 130
9.5 專門的托管方案 132
9.5.1 Triton 132
9.5.2 谷歌容器引擎 134
9.5.3 亞馬遜EC2容器服務 135
9.5.4 GiantSwarm 136
9.6 持久性數據和生產環境容器 138
9.7 分享秘密信息 139
9.7.1 在鏡像中保存秘密信息 139
9.7.2 通過環境變量傳遞密鑰 139
9.7.3 通過數據卷傳遞密鑰 140
9.7.4 使用鍵值存儲 140
9.8 網絡連接 141
9.9 生產環境的寄存服務 141
9.10 持續部署/交付 141
9.11 總結 142
第 10章日志記錄和監控 143
10.1 日志記錄 144
10.1.1 Docker默認的日志記錄 144
10.1.2 日志匯總 145
10.1.3 使用ELK進行日志記錄 146
10.1.4 通過syslog實現日志管理 155
10.1.5 從文件抓取日志 160
10.2 監控和警報 161
10.2.1 使用Docker工具進行監測 161
10.2.2 cAdvisor 162
10.2.3 集群解決方案 163
10.3 商用的監聽及日志記錄解決方案 166
10.4 總結 166
第三部分 工具和技術
第 11章聯網和服務發現 169
11.1 大使容器 170
11.2 服務發現 173
11.2.1 etcd 173
11.2.2 SkyDNS 177
11.2.3 Consul 181
11.2.4 服務注冊 185
11.2.5 其他解決方案 186
11.3 聯網選項 187
11.3.1 網橋模式 187
11.3.2 主機模式 188
11.3.3 容器模式 188
11.3.4 未聯網模式 188
11.4 全新的Docker聯網功能 188
11.5 網絡解決方案 190
11.5.1 Overlay 191
11.5.2 Weave 193
11.5.3 Flannel 196
11.5.4 Calico項目 201
11.6 總結 205
第 12章編排、集群和管理 207
12.1 集群和編排工具 208
12.1.1 Swarm 208
12.1.2 fleet 214
12.1.3 Kubernetes 219
12.1.4 Mesos和Marathon 226
12.2 容器管理平台 235
12.2.1 Rancher 236
12.2.2 Clocker 237
12.2.3 Tutum 238
12.3 總結 239
第 13章容器安全與限制容器 241
13.1 需要考慮的事項 242
13.2 縱深防御 244
13.3 如何保護identidock 245
13.4 以主機隔離容器 246
13.5 進行更新 246
13.6 鏡像出處 249
13.6.1 Docker摘要 250
13.6.2 Docker的內容信任機制 250
13.6.3 可復制及可信任的Dockerfile 254
13.7 安全建議 256
13.7.1 設置用戶 256
13.7.2 限制容器聯網 257
13.7.3 刪除setuid和setgid的二進制文件 258
13.7.4 限制內存使用 259
13.7.5 限制CPU使用 260
13.7.6 限制重新啟動 261
13.7.7 限制文件系統 261
13.7.8 限制內核能力 262
13.7.9 應用資源限制 263
13.8 運行加固內核 264
13.9 Linux安全模塊 265
13.9.1 SELinux 265
13.9.2 AppArmor 268
13.10 審核 268
13.11 事件響應 269
13.12 未來特性 269
13.13 總結 270
作者簡介 271
關於封面 271
網路書店 類別 折扣 價格
  1. 新書
    87
    $412