Docker技術入門與實戰 第2版

Docker技術入門與實戰 第2版 pdf epub mobi txt 電子書 下載 2025

楊保華,戴王劍,曹亞侖 著
圖書標籤:
  • Docker
  • 容器化
  • DevOps
  • 微服務
  • Linux
  • 雲計算
  • 係統運維
  • 開發運維
  • 自動化部署
  • 虛擬化
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 機械工業齣版社
ISBN:9787111555827
版次:1
商品編碼:12121728
品牌:機工齣版
包裝:平裝
叢書名: 容器技術係列
開本:16
齣版時間:2017-03-01
用紙:膠版紙

具體描述

産品特色

編輯推薦

  

熱銷書《Docker技術入門與實戰》升級版,基於Docker 1.12及以上版本對全書內容進行瞭修訂,增加瞭第四部分專門介紹與容器相關的知名開源項目,利用好這些優秀的開源平颱,可以更好地在生産實踐中使用Docker。本書內容係統全麵,開發者案頭必備圖書

內容簡介

  

本書從Docker基本原理開始,深入淺齣地講解Docker的構建與操作,內容係統全麵,可幫助開發人員、運維人員快速部署Docker應用。本書分為四大部分:基礎入門、實戰案例、進階技能、開源項目,第一部分(第1~8章)介紹Docker與虛擬化技術的基本概念,包括安裝、鏡像、容器、倉庫、數據捲,端口映射等;第二部分(第9~16章)通過案例介紹Docker的應用方法,包括與各種操作係統平颱、SSH服務的鏡像、Web服務器與應用、數據庫的應用、各類編程語言的接口、容器雲等,還介紹瞭作者在容器實戰中的思考與經驗總結;第三部分(第17~21章)是一些進階技能,如Docker核心技術實現原理、安全、高級網絡配置、libernetwork插件化網絡功能等;第四部分(第22~28章)介紹與容器開發相關的開源項目,包括Etcd、Docker Machine、Docker Compose、Docker Swarm、Mesos、Kubernetes等。

第2版參照Docker技術的新進展對全書內容進行瞭修訂,並增加瞭第四部分專門介紹與容器相關的知名開源項目,利用好這些優秀的開源平颱,可以更好地在生産實踐中受益。


  

作者簡介

楊保華:博士,畢業於清華大學,現為 IBM 資深研究員。主要負責核心係統方案的架構設計和研發,包括雲計算、大數據、金融科技等領域。他熱愛開源文化,是容器、軟件定義網絡、區塊鏈等開源技術的早期推廣者,曾為 OpenStack、HyperLedger 等開源項目作齣瞭貢獻。個人主頁為 https://yeasy.github.com。

戴王劍:資深架構師,多年來一直從事係統平颱、計算機網絡、服務器架構設計,負責過多個省級項目的架構設計。熱衷於開源事業,積極推動開源技術在生産實踐中的應用。

曹亞侖:阿裏雲高級係統工程師(花名法喜),上雲架構師,擅長雲産品運維與雲平颱技術保障,對PaaS、IaaS層架構設計與實踐有較豐富的實戰經驗。同時也是DevOps實踐者與全棧開發者。微信allengaller,個人主頁為allengaller.github.io。


目錄

第2版前言

第1版前言

第一部分 基礎入門

第1章 初識容器與Docker 3

1.1 什麼是Docker 3

1.2 為什麼要使用Docker 5

1.3 Docker與虛擬化 7

1.4 本章小結 9

第2章 核心概念與安裝配置 10

2.1 核心概念 10

2.2 安裝Docker 11

2.2.1 Ubuntu環境下安裝Docker 12

2.2.2 CentOS環境下安裝Docker 14

2.2.3 通過腳本安裝 14

2.2.4 Mac OS環境下安裝Docker 15

2.2.5 Windows環境下安裝Docker 20

2.3 配置Docker服務 21

2.4 推薦實踐環境 22

2.5 本章小結 22

第3章 使用Docker鏡像 23

3.1 獲取鏡像 23

3.2 查看鏡像信息 25

3.3 搜尋鏡像 28

3.4 刪除鏡像 29

3.5 創建鏡像 31

3.6 存齣和載入鏡像 32

3.7 上傳鏡像 33

3.8 本章小結 33

第4章 操作Docker容器 34

4.1 創建容器 34

4.2 終止容器 39

4.3 進入容器 40

4.4 刪除容器 42

4.5 導入和導齣容器 42

4.6 本章小結 44

第5章 訪問Docker倉庫 45

5.1 Docker Hub公共鏡像市場 45

5.2 時速雲鏡像市場 47

5.3 搭建本地私有倉庫 48

5.4 本章小結 50

第6章 Docker數據管理 51

6.1 數據捲 51

6.2 數據捲容器 52

6.3 利用數據捲容器來遷移數據 53

6.4 本章小結 54

第7章 端口映射與容器互聯 55

7.1 端口映射實現訪問容器 55

7.2 互聯機製實現便捷互訪 57

7.3 本章小結 59

第8章 使用Dockerfile創建鏡像 60

8.1 基本結構 60

8.2 指令說明 62

8.3 創建鏡像 67

8.4 使用.dockerignore文件 67

8.5 最佳實踐 67

8.6 本章小結 68

第二部分 實戰案例

第9章 操作係統 71

9.1 BusyBox 71

9.2 Alpine 72

9.3 Debian/Ubuntu 74

9.4 CentOS/Fedora 76

9.5 本章小結 77

第10章 為鏡像添加SSH服務 78

10.1 基於commit命令創建 78

10.2 使用Dockerfile創建 80

10.3 本章小結 82

第11章 Web服務與應用 83

11.1 Apache 83

11.2 Nginx 87

11.3 Tomcat 88

11.4 Jetty 92

11.5 LAMP 93

11.6 CMS 94

11.6.1 WordPress 94

11.6.2 Ghost 96

11.7 持續開發與管理 96

11.7.1 Jenkins 97

11.7.2 Gitlab 98

11.8 本章小結 99

第12章 數據庫應用 100

12.1 MySQL 100

12.2 MongoDB 102

12.2.1 使用官方鏡像 102

12.2.2 使用自定義Dockerfile 104

12.3 Redis 106

12.4 Memcached 108

12.5 CouchDB 108

12.6 Cassandra 109

12.7 本章小結 110

第13章 分布式處理與大數據平颱 111

13.1 RabbitMQ 111

13.2 Celery 113

13.3 Hadoop 114

13.4 Spark 115

13.4.1 使用官方鏡像 116

13.4.2 驗證 116

13.5 Storm 117

13.6 Elasticsearch 119

13.7 本章小結 120

第14章 編程開發 121

14.1 C/C++ 121

14.1.1 GCC 121

14.1.2 LLVM 122

14.1.3 Clang 122

14.2 Java 123

14.3 Python 124

14.3.1 使用官方的Python鏡像 124

14.3.2 使用PyPy 124

14.4 JavaScript 125

14.5 Go 127

14.5.1 搭建並運行Go容器 127

14.5.2 Beego 130

14.5.3 Gogs:基於Go的Git服務 130

14.6 PHP 130

14.7 Ruby 132

14.7.1 使用Ruby官方鏡像 132

14.7.2 JRuby 133

14.7.3 Ruby on Rails 134

14.8 Perl 135

14.9 R 136

14.10 Erlang 138

14.11 本章小結 140

第15章 容器與雲服務 141

15.1 公有雲容器服務 141

15.1.1 AWS 141

15.1.2 Google Cloud Platform 142

15.1.3 Azure 143

15.1.4 騰訊雲 144

15.1.5 阿裏雲 144

15.1.6 華為雲 144

15.1.7 UCloud 145

15.2 容器雲服務 145

15.2.1 基本要素與關鍵特性 146

15.2.2 網易蜂巢 146

15.2.3 時速雲 147

15.2.4 Daocloud 148

15.2.5 靈雀雲 148

15.2.6 數人雲 149

15.3 阿裏雲容器服務 150

15.4 時速雲容器平颱 151

15.5 本章小結 153

第16章 容器實戰思考 154

16.1 Docker為什麼會成功 154

16.2 研發人員該如何看容器 155

16.3 容器化開發模式 156

16.4 容器與生産環境 158

16.5 本章小結 160

第三部分 進階技能

第17章 Docker核心實現技術 163

17.1 基本架構 163

17.2 命名空間 165

17.3 控製組 167

17.4 聯閤文件係統 169

17.5 Linux網絡虛擬化 171

17.6 本章小結 174

第18章 配置私有倉庫 175

18.1 安裝Docker Registry 175

18.2 配置TLS證書 177

18.3 管理訪問權限 178

18.4 配置Registry 181

18.4.1 示例配置 181

18.4.2 選項 183

18.5 批量管理鏡像 188

18.6 使用通知係統 190

18.6.1 相關配置 190

18.6.2 Notif?ication的使用場景 192

18.7 本章小結 193

第19章 安全防護與配置 194

19.1 命名空間隔離的安全 194

19.2 控製組資源控製的安全 195

19.3 內核能力機製 195

19.4 Docker服務端的防護 197

19.5 更多安全特性的使用 197

19.6 使用第三方檢測工具 198

19.6.1 Docker Bench 198

19.6.2 clair 199

19.7 本章小結 199

第20章 高級網絡功能 201

20.1 網絡啓動與配置參數 201

20.2 配置容器DNS和主機名 203

20.3 容器訪問控製 204

20.4 映射容器端口到宿主主機的實現 206

20.5 配置docker0網橋 207

20.6 自定義網橋 208

20.7 使用OpenvSwitch網橋 209

20.8 創建一個點到點連接 211

20.9 本章小結 212

第21章 libnetwork插件化網絡功能 213

21.1 容器網絡模型 213

21.2 Docker網絡相關命令 215

21.3 構建跨主機容器網絡 216

21.4 本章小結 219

第四部分 開源項目

第22章 Etcd——高可用的鍵值數據庫 223

22.1 簡介 223

22.2 安裝和使用Etcd 224

22.3 使用etcdctl客戶端 228

22.3.1 數據類操作 230

22.3.2 非數據類操作 233

22.4 Etcd集群管理 236

22.4.1 構建集群 236

22.4.2 集群參數配置 238

22.5 本章小結 240

第23章 Docker三劍客之Docker Machine 241

23.1 簡介 241

23.2 安裝Machine 241

23.3 使用Machine 243

23.4 Machine命令 244

23.5 本章小結 247

第24章 Docker三劍客之Docker Compose 248

24.1 簡介 248

24.2 安裝與卸載 249

24.3 Compose命令說明 252

24.4 Compose環境變量 257

24.5 Compose模闆文件 257

24.6 Compose應用案例一:Web負載均衡 266

24.7 Compose應用案例二:大數據Spark集群 271

24.8 本章小結 273

第25章 Docker三劍客之Docker Swarm 274

25.1 簡介 274

25.2 安裝Swarm 275

25.3 使用Swarm 277

25.4 使用其他服務發現後端 281

25.5 Swarm中的調度器 282

25.6 Swarm中的過濾器 284

25.7 本章小結 286

第26章 Mesos——優秀的集群資源調度平颱 287

26.1 簡介 287

26.2 Mesos安裝與使用 288

26.3 原理與架構 296

26.3.1 架構 296

26.3.2 基本單元 297

26.3.3 調度 297

26.3.4 高可用性 298

26.4 Mesos配置項解析 299

26.4.1 通用項 299

26.4.2 master專屬項 299

26.4.3 slave專屬項 301

26.5 日誌與監控 304

26.6 常見應用框架 306

26.7 本章小結 307

第27章 Kubernetes——生産級容器集群平颱 308

27.1 簡介 308

27.2 核心概念 309

27.2.1 集群組件 311

27.2.2 資源抽象 312

27.2.3 輔助概念 315

27.3 快速體驗 318

27.4 安裝部署 322

27.5 重要組件 331

27.5.1 Etcd 332

27.5.2 kube-apiserver 332

27.5.3 kube-scheduler 333

27.5.4 kube-controller-manager 333

27.5.5 kubelet 334

27.5.6 kube-proxy 335

27.6 使用kubectl 337

27.6.1 獲取kubectl 337

27.6.2 命令格式 337

27.6.3 全局參數 338

27.6.4 子命令 339

27.7 網絡設計 351

27.8 本章小結 353

第28章 其他相關項目 354

28.1 平颱即服務方案 354

28.1.1 Deis 354

28.1.2 Flynn 355

28.2 持續集成平颱Drone 355

28.3 容器管理 357

28.3.1 Citadel 357

28.3.2 Shipyard 358

28.3.3 DockerUI 358

28.3.4 Panamax 358

28.3.5 Seagull 359

28.3.6 Dockerboard 361

28.4 編程開發 362

28.5 網絡支持 363

28.5.1 pipework 363

28.5.2 Flannel 364

28.5.3 Weave Net 364

28.5.4 Calico 365

28.6 日誌處理 366

28.6.1 Docker-Fluentd 366

28.6.2 Logspout 367

28.6.3 Sematext-agent-docker 368

28.7 服務代理工具 368

28.7.1 Traefik 369

28.7.2 Muguet 370

28.7.3 nginx-proxy 370

28.8 標準與規範 372

28.9 其他項目 375

28.9.1 CoreOS 375

28.9.2 OpenStack支持 375

28.9.3 dockerize 376

28.9.4 Unikernel 378

28.9.5 容器化的虛擬機 378

28.10 本章小結 379

附錄

附錄A 常見問題總結 382

附錄B Docker命令查詢 388

附錄C 參考資源鏈接 393


前言/序言

Preface 第2版前言

自雲計算步入市場算起,新一代計算技術剛好走過瞭第一個十年。

在過去十年裏,圍繞計算、存儲、網絡三大基礎服務,圍繞敏捷服務和規模處理兩大核心訴求,新的概念、模式和工具爭相湧現。這些創新的開源技術成果,提高瞭整個信息産業的生産效率,降低瞭應用信息技術的門檻,讓“互聯網+”成為可能。

如果說軟件定義網絡(SDN)和網絡功能虛擬化(NFV)讓互聯網絡的虛擬化進入瞭嶄新的階段,那麼容器技術的齣現,毫無疑問稱得上計算虛擬化技術的又一大創新。從Linux Container到Docker,看似是計算技術發展的一小步,卻是極為重要的曆史性突破。容器帶來的不僅僅是技術體驗上的改進,更多的是新的開發模式、新的應用場景、新的業務可能……

容器技術自身在快速演進的同時,筆者也很欣喜地看到,圍繞著容器的開源生態係統越發繁盛。Docker三劍客Machine、Compose、Swarm相輔相成,集團作戰;搜索巨人則推齣Kubernetes,領航新一代容器化應用集群平颱;還有Mesos、CoreOS,以及其他眾多的開源工具。這些工具的齣現,彌補瞭現有容器技術棧的不足,極大地豐富瞭容器技術的應用場景,增強瞭容器技術在更多領域的競爭力。

在第2版中,筆者參照容器技術最新進展對全書內容進行瞭修訂完善,並增加瞭第四部分專門介紹與容器相關的知名開源項目,利用好這些優秀的開源平颱,可以更好地在生産實踐中受益。

成書之際,Docker發布瞭1.13版本,帶來瞭更穩定的性能和更多有趣的特性。

再次感謝容器技術,感謝開源文化,希望開源技術能得到更多的支持和貢獻!

最後,IBM中國研究院的劉天成、李玉博等幫忙審閱瞭部分內容,在此錶達最深厚的感謝!


楊保華

2016年12月於北京



第1版前言 Preface

在一颱服務器上同時運行一百個虛擬機,肯定會被認為是癡人說夢。而在一颱服務器上同時運行一韆個Docker容器,這已經成為現實。在計算機技術高速發展的今天,昔日的天方夜譚正在一個個變成現實。

多年的研發和運維(DevOps)經曆中,筆者時常會碰到這樣一個睏境:用戶的需求越來越多樣,係統的規模越來越龐大,運行的軟件越來越復雜,環境配置問題所造成的麻煩層齣不窮……為瞭解決這些問題,開源社區推齣過不少優秀的工具。這些方案雖然在某些程度上確能解決部分“燃眉之急”,但是始終沒有一種方案能帶來“一勞永逸”的效果。

讓作為企業最核心資源的工程師們花費大量的時間,去解決各種環境和配置引發的 Bug,這真的正常嗎?

迴顧計算機的發展曆程,最初,程序設計人員需要直接操作各種枯燥的機器指令,編程效率之低可想而知。高級語言的誕生,將機器指令的具體實現成功抽象齣來,從此揭開瞭計算機編程效率突飛猛進的大時代。那麼,為什麼不能把類似的理念(抽象與分層)也引入到現代的研發和運維領域呢?

Docker無疑在這一方嚮上邁齣瞭具有革新意義的一步。筆者在剛接觸Docker時,就為它所能帶來的敏捷工作流程而深深吸引,也為它能充分挖掘雲計算資源的效能而興奮不已。我們深信,Docker的齣現,必將給DevOps技術,甚至整個信息技術産業的發展帶來深遠的影響。

筆者曾嘗試編寫瞭介紹Docker技術的中文開源文檔。短短一個月的時間,竟收到瞭來自全球各個地區超過20萬次的閱讀量和全五星的好評。這讓我們看到國內技術界對於新興開源技術的敏銳嗅覺和迫切需求,同時也倍感壓力,生怕其中有不妥之處,影響瞭大傢學習和推廣Docker技術的熱情。在開源文檔撰寫過程中,我們一直在不斷思考,在生産實踐中到底怎麼用Docker纔是閤理的?在“華章圖書”的幫助下,終於有瞭現在讀者手中的這本書。

與很多技術類書籍不同,本書中避免一上來就講述冗長的故事,而是試圖深入淺齣、直奔主題,在最短時間內讓讀者理解和掌握最關鍵的技術點,並且配閤實際操作案例和精煉的點評,給讀者提供真正可以上手的實戰指南。

本書在結構上分為三大部分。第一部分是Docker技術的基礎知識介紹,這部分將讓讀者對Docker技術能做什麼有個全局的認識;第二部分將具體講解各種典型場景的應用案例,供讀者體會Docker在實際應用中的高效秘訣;第三部分將討論一些偏技術環節的高級話題,試圖讓讀者理解Docker在設計上的工程美學。最後的附錄歸納瞭應用Docker的常見問題和一些常用的參考資料。讀者可根據自身需求選擇閱讀重點。全書主要由楊保華和戴王劍主筆,曹亞侖寫作瞭編程開發和實踐之道章節。

本書在寫作過程中參考瞭官方網站上的部分文檔,並得到瞭DockerPool技術社區網友們的積極反饋和支持,在此一並感謝!

成稿之際,Docker已經發布瞭增強安全特性的1.3.2版本。衷心祝願Docker及相關技術能夠快速成長和成熟,讓眾多IT從業人員的工作和生活都更加健康、更加美好!


作者於2014年11月



用戶評價

評分

京東正版,送貨快,小哥,服務態度好,謝謝京東精通的書,既便宜,有實惠,價格也閤適,然後是正版,包裝,送貨,服務,一條龍特彆好

評分

比較基礎。剛開始看,比較適閤初學者

評分

一次性買呢很多書,價格很閤適,希望京東能多多搞活動!

評分

活動買的很劃算。慢慢看

評分

很實用,很喜歡,價格也美麗,京東物流快,比較給力

評分

非常有深度的一本書,是一本好書.

評分

書很好,送貨很快,此次購物滿意

評分

看同事好多人都有這個,也買來學習學習

評分

京東正版,送貨快,小哥,服務態度好,謝謝京東精通的書,既便宜,有實惠,價格也閤適,然後是正版,包裝,送貨,服務,一條龍特彆好

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有