Docker開發指南

網站

更多書籍點擊進入>> CiCi島php

下載

電子版僅供預覽及學習交流使用,下載後請24小時內刪除,支持正版,喜歡的請購買正版書籍html

封頁

封頁

編輯推薦

Docker容器給軟件的開發、發佈和運行提供了簡單、快速和可靠的方法,尤爲是在動態和分佈式的環境中。經過這本實戰指南,你將學習到爲何容器如此重要,Docker能帶來哪些好處,以及怎樣把它變成開發流程的一部分。 本書適合軟件開發者、運維工程師和系統管理員,尤爲適合對DevOps模式感興趣的讀者。做者將帶領你從基礎知識出發,直到了解如何在多主機系統上運行數十個擁有聯網和調度能力的容器系統,重在讓你掌握使用Docker來開發、測試以及部署Web應用。 · 從構建和部署簡單Web應用開始瞭解Docker · 使用持續部署技術,把應用一天屢次推送到生產環境 · 學習各類不一樣的選項和技術,實現多容器的日誌記錄和監控 · 剖析聯網和服務發現:容器之間如何尋找對方,以及怎樣把它們鏈接起來 · 經過運用容器的編排和集羣功能,解決負載均衡、擴展、故障切換以及調度的問題 · 遵照縱深防護和*小權限的原則,確保系統安全 · 利用容器構建微服務架構git

內容簡介

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

做者簡介

Adrian Mouat Container Solutions公司首席科學家。參與過不少軟件項目,既有小型的Web應用,也有大型數據分析軟件。 譯者簡介 : 黃彥邦(Anthony Wong) Linux開發專家,熱衷於開源技術,從事Linux相關開發工做十多年,曾參與多個大型開源項目,如Debian GNU/Linux和Ubuntu,提交補丁無數。以推進Debian系統中文化以及網站和文檔翻譯爲目標,1998年成爲中國首位Debian計劃官方開發者。 我的網站:blog.anthonywong.netshell

目 錄

前言 xi

第一部分 背景與基礎

第 1 章 何謂容器,爲什麼須要它 3

1.1 容器與虛擬機的比較 4

1.2 Docker與容器 5

1.3 Docker的歷史 7

1.4 插件與基礎設施 8

1.5 64位Linux 9

第 2 章 安裝 10

2.1 在Linux上安裝 Docker 10

2.1.1 將SELinux置於寬容模式下運行 11

2.1.2 不使用sudo命令執行Docker 11

2.2 在Mac OS及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 說聲「Hello World!」 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 Docker Hub 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部署Jenkins slaves 109

8.4 備份Jenkins數據 109

8.5 持續集成的託管解決方案 109

8.6 測試與微服務 110

8.7 總結 111

第 9 章 部署容器 113

9.1 經過Docker Machine配置資源 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 Giant Swarm 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



緩存

媒體評論

「《Docker開發指南》詳盡、實用,尤其難能難得的是,書中介紹了怎樣在Docker的生態系統中把容器化的微服務從開發/測試環境遷移到生產環境。」——Adrian Cockcroft,Battery Ventures技術分析師 「《Docker開發指南》對Docker和容器生態進行了深刻而全面的介紹。這本書注重實踐,包含大量範例,所以把其中的概念和技巧運用到實際項目中將很是容易。」——Pini Reznik,Container Solutions CTO安全

本篇文章由一文多發平臺ArtiPub自動發佈服務器

相關文章
相關標籤/搜索