注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計Docker實踐

Docker實踐

Docker實踐

定 價:¥79.00

作 者: [美] 伊恩·米爾(Ian Miell),艾丹·霍布森·塞耶斯(Aidan Hobson Sayers) 著;吳佳興,梁曉勇,黃博文,楊銳 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787115474582 出版時間: 2018-02-01 包裝: 平裝
開本: 16開 頁數: 314 字數:  

內容簡介

  《Docker實踐》由淺入深地講解了Docker的相關內容,涵蓋從開發(fā)環(huán)境到DevOps流水線,再一路到生產環(huán)境的整個落地過程以及相關的實用技巧。書中介紹Docker的核心概念和架構,以及將Docker和開發(fā)環(huán)境有機、高效地結合起來的方法,包括用作輕量級的虛擬機以及構建和宿主機編排、配置管理、精簡鏡像等。不僅如此,本書還通過“問題/解決方案/討論”的形式,將“Docker如何融入DevOps流水線”“如何在生產環(huán)境落地”等一系列難題拆解成101個相關的實用技巧,為讀者提供解決方案以及一些細節(jié)和技巧方面的實踐經驗。閱讀本書,讀者將學到的不只是Docker,還包括持續(xù)集成、持續(xù)交付、構建和鏡像管理、容器編排等相關領域的一線生產經驗。本書編寫時一些案例參考的Docker版本是Docker 1.9。《Docker實踐》要求讀者具備一定的容器管理和運維的基礎知識,適合想要將Docker投入實踐的相關技術人員閱讀,尤其適合具有中 高 級DevOps和運維背景的讀者閱讀。

作者簡介

  伊恩·米爾(Ian Miell)和艾丹·霍布森·塞耶斯(Aidan HobsonSayers)對Docker 有所貢獻,并且在大規(guī)模環(huán)境里構建和維護基于Docker 的基礎設施方面有豐富的經驗。譯者簡介吳佳興,畢業(yè)于華東理工大學計算機系,目前是bilibili 基礎平臺研發(fā)團隊的一員,主要研究方向有CI\\CD、監(jiān)控和運維自動化、基于容器的PaaS 平臺建設、微服務架構等。2014 年年底有幸加入DockOne 社區(qū),作為譯者,利用閑暇時間為社區(qū)貢獻一些微薄的力量。個人博客。歡迎郵件聯系。黃博文,ThoughtWorks 資 深軟件工程師/咨詢師,擔任過開發(fā)、測試、運維、技術經理等角色,在國內外多家企業(yè)做過技術教練以及技術咨詢,擁有豐富的敏捷團隊工作經驗。目前專注于DevOps 技術及云端架構,在搭建持續(xù)集成及部署平臺、自動化構建基礎設施、虛擬化環(huán)境、云端運維等方面有著豐富的經驗。擁有AWS 解決方案架構師以及開發(fā) 者證書。個人博客為t,個人郵箱為。譯作有《Effective JavaScript》《Html5 和CSS3 響應式設計指南》《C#多線程編程實戰(zhàn)》《面向對象的思考過程》《基礎設施即代碼》等。楊銳,前ThoughtWorks 咨詢師,DevOps 領域持續(xù)關注者,任職期間曾任某海外大型項目DevOps 工程師,對其持續(xù)交付、基礎設施即代碼、流水線即代碼等方面進行了持續(xù)推動,對云計算、容器化、持續(xù)交付等有一定經驗?,F供職美團點評。梁曉勇,畢業(yè)于廈門大學,現任某互聯網金融公司架構師,DockOne 社區(qū)編外人員。長期奮戰(zhàn)在技術研發(fā)第 一線,在網絡管理、技術開發(fā)、架構設計等方面略有心得。熱愛互聯網技術,積極投身開源社區(qū),對Docker 等容器技術具有濃厚興趣。歡迎郵件聯系

圖書目錄

第 一部分 Docker基礎
第 1章 Docker初探 3
1.1 Docker是什么以及為什么用Docker 4
1.1.1 Docker是什么 4
1.1.2 Docker有什么好處 6
1.1.3 關鍵的概念 8
1.2 構建一個Docker應用程序 10
1.2.1 創(chuàng)建新的Docker鏡像的方式 11
1.2.2 編寫一個Dockerfile 11
1.2.3 構建一個Docker鏡像 12
1.2.4 運行一個Docker容器 14
1.2.5 Docker分層 16
1.3 小結 17
第 2章 理解Docker——深入引擎室 18
2.1 Docker的架構 18
2.2 Docker守護進程 20
技巧1 向世界開放Docker守護進程 20
技巧2 以守護進程方式運行容器 22
技巧3 將Docker移動到不同分區(qū) 24
2.3 Docker客戶端 25
技巧4 使用socat監(jiān)控Docker API流量 25
技巧5 使用端口連接容器 28
技巧6 鏈接容器實現端口隔離 29
技巧7 在瀏覽器中使用Docker 31
2.4 Docker注冊中心 33
技巧8 建立一個本地Docker注冊中心 34
2.5 Docker Hub 34
技巧9 查找并運行一個Docker鏡像 35
2.6 小結 37
第 二部分 Docker與開發(fā)
第3章 將Docker用作輕量級虛擬機 41
3.1 從虛擬機到容器 42
技巧10 將虛擬機轉換為容器 42
技巧11 類宿主機容器 44
技巧12 將一個系統拆成微服務容器 46
3.2 管理容器的服務 49
技巧13 管理容器內服務的啟動 50
3.3 保存和還原工作成果 52
技巧14 在開發(fā)中“保存游戲”的方式 52
技巧15 給Docker打標簽 54
技巧16 在Docker Hub上分享鏡像 56
技巧17 在構建時指向特定的鏡像 58
3.4 進程即環(huán)境 59
技巧18 在開發(fā)中“保存游戲”的方式 59
3.5 小結 61
第4章 Docker日常 62
4.1 卷——持久化問題 62
技巧19 Docker卷——持久化的問題 63
技巧20 通過BitTorrent Sync的分布式卷 64
技巧21 保留容器的bash歷史 66
技巧22 數據容器 68
技巧23 使用SSHFS掛載遠程卷 70
技巧24 通過NFS共享數據 72
技巧25 開發(fā)工具容器 75
4.2 運行容器 76
技巧26 在Docker里運行GUI 76
技巧27 檢查容器 78
技巧28 干凈地殺掉容器 80
技巧29 使用Docker Machine來置備Docker宿主機 81
4.3 構建鏡像 84
技巧30 使用ADD將文件注入到鏡像 85
技巧31 重新構建時不使用緩存 87
技巧32 拆分緩存 89
4.4 保持陣型 90
技巧33 運行Docker時不加sudo 90
技巧34 清理容器 91
技巧35 清理卷 92
技巧36 解綁容器的同時不停掉它 94
技巧37 使用DockerUI來管理Docker守護進程 95
技巧38 為Docker鏡像生成一個依賴圖 96
技巧39 直接操作——對容器執(zhí)行命令 97
4.5 小結 99
第5章 配置管理——讓一切井然有序 100
5.1 配置管理和Dockerfile 100
技巧40 使用ENTRYPOINT創(chuàng)建可靠的定制工具 101
技巧41 在構建中指定版本來避免軟件包的漂移 102
技巧42 用perl -p -i -e替換文本 104
技巧43 鏡像的扁平化 105
技巧44 用alien管理外來軟件包 107
技巧45 把鏡像逆向工程得到Dockerfile 109
5.2 傳統配置管理工具與Docker 112
技巧46 傳統方式:搭配make和Docker 112
技巧47 借助Chef Solo構建鏡像 114
技巧48 從源到鏡像的構建 118
5.3 小即是美 123
技巧49 保持構建鏡像更小的Dockerfile技巧 123
技巧50 讓鏡像變得更小的技巧 126
技巧51 通過BusyBox和Alpine來精簡Docker鏡像 128
技巧52 Go模型的小容器 129
技巧53 使用inotifywait給容器瘦身 132
技巧54 大也可以美 134
5.4 小結 136
第三部分 Docker與DevOps
第6章 持續(xù)集成:加快開發(fā)流水線 139
6.1 Docker Hub自動化構建 139
技巧55 使用Docker Hub工作流 140
6.2 更有效的構建 143
技巧56 使用eatmydata為I/O密集型構建提速 143
技巧57 設置一個軟件包緩存用于加快構建速度 145
技巧58 在Docker內部運行Selenium測試 147
6.3 容器化CI過程 151
技巧59 包含一個復雜的開發(fā)環(huán)境 151
技巧60 在一個Docker容器里運行Jenkins主服務器 156
技巧61 使用Jenkins的Swarm插件擴展CI 158
6.4 小結 161
第7章 持續(xù)交付:與Docker原則完 美契合 162
7.1 在CD流水線上與其他團隊互動 163
技巧62 Docker契約——減少摩擦 163
7.2 推動Docker鏡像的部署 165
技巧63 手動同步注冊中心鏡像 165
技巧64 通過受限連接交付鏡像 166
技巧65 以TAR文件方式共享Docker對象 168
7.3 為不同環(huán)境配置鏡像 170
技巧66 使用etcd通知容器 170
7.4 升級運行中的容器 172
技巧67 使用confd啟用零停機時間切換 173
7.5 小結 177
第8章 網絡模擬:無痛的現實環(huán)境測試 178
8.1 容器通信——超越手工鏈接 178
技巧68 一個簡單的Docker Compose集群 178
技巧69 一個使用Docker Compose的SQLite服務器 182
技巧70 使用Resolvable通過DNS查找容器 185
8.2 使用Docker來模擬真實世界的網絡 188
技巧71 使用Comcast模擬有問題的網絡 188
技巧72 使用Blockade模擬有問題的網絡 191
8.3 Docker和虛擬網絡 194
技巧73 使用Weave建立一個基底網絡 195
技巧74 Docker的網絡與服務功能 198
8.4 小結 201
第四部分 生產環(huán)境中的Docker
第9章 容器編排:管理多個Docker容器 205
9.1 簡單的單臺宿主機 206
技巧75 使用systemd管理宿主機上的容器 206
技巧76 使用systemd編排宿主機上的容器 210
9.2 多宿主機Docker 212
技巧77 使用Helios手動管理多宿主機Docker 213
技巧78 基于Swarm的無縫Docker集群 219
技巧79 使用Kubernetes集群 222
技巧80 在Mesos上構建框架 228
技巧81 使用Marathon細粒度管理Mesos 235
9.3 服務發(fā)現:我們有什么 238
技巧82 使用Consul來發(fā)現服務 238
技巧83 使用Registrator進行自動化服務注冊 246
9.4 小結 248
第 10章 Docker與安全 249
10.1 Docker訪問權限及其意味著什么 249
10.2 Docker中的安全手段 250
技巧84 限制能力 251
技巧85 Docker實例上的HTTP認證 253
技巧86 保護Docker API 257
10.3 來自Docker以外的安全 260
技巧87 OpenShift——一個應用程序平臺即服務 260
技巧88 使用安全選項 269
10.4 小結 275
第 11章 一帆風順——生產環(huán)境中的Docker以及運維上的考量 276
11.1 監(jiān)控 276
技巧89 記錄容器的日志到宿主機的syslog 276
技巧90 把Docker日志發(fā)送到宿主機的輸出系統 279
技巧91 使用cAdvisor監(jiān)控容器 281
11.2 資源控制 282
技巧92 限制容器可以運行的內核 282
技巧93 給重要的容器更多CPU 283
技巧94 限制容器的內存使用 285
11.3 Docker的系統管理員用例 286
技巧95 使用Docker來運行cron作業(yè) 286
技巧96 通過“保存游戲”的方法來備份 289
11.4 小結 291
第 12章 Docker生產環(huán)境實踐——應對各項挑戰(zhàn) 292
12.1 性能——不能忽略宿主機 292
技巧97 從容器訪問宿主機資源 292
技巧98 Device Mapper存儲驅動和默認的容器大小 296
12.2 在容器出問題時——調試Docker 298
技巧99 使用nsenter調試容器的網絡 298
技巧100 無須重新配置,使用tcpflow進行實時調試 301
技巧101 調試在特定宿主機上出問題的容器 302
12.3 小結 306
附錄A 安裝并使用Docker 307
附錄B Docker配置 311
附錄C Vagrant 313

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號