注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Docker實(shí)踐

Docker實(shí)踐

Docker實(shí)踐

定 價(jià):¥79.00

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

ISBN: 9787115474582 出版時(shí)間: 2018-02-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 314 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)