注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信Docker實(shí)戰(zhàn)

Docker實(shí)戰(zhàn)

Docker實(shí)戰(zhàn)

定 價(jià):¥79.00

作 者: [美] Jeff Nickoloff(杰夫?尼克羅夫) 著;胡震 譯
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

ISBN: 9787121303067 出版時(shí)間: 2016-11-01 包裝: 平裝
開本: 16開 頁數(shù): 292 字?jǐn)?shù):  

內(nèi)容簡介

  自從2013年3月Docker 0.1版本發(fā)布以來,以其為代表的容器技術(shù)發(fā)展也走上了快車道,Docker容器在很大程度上改變了軟件的架構(gòu)設(shè)計(jì)、開發(fā)和運(yùn)維部署方式,也給早些年就提出的微服務(wù)架構(gòu)模式插上了快速起飛的翅膀。本書由Docker社區(qū)**人Jeff Nickoloff編寫,共分為三部分,**部分(1~6章)重點(diǎn)介紹Docker容器的資源隔離和權(quán)限控制及基礎(chǔ)理論,第二部分(7~10章)詳細(xì)解釋了如何打包制作鏡像以及各種鏡像分發(fā)基礎(chǔ)設(shè)施的建設(shè),*后一部分(11~12章)聚焦于Docker容器的組合操作也就是多容器和多主機(jī)環(huán)境的管理。本書圖文并茂,結(jié)合基本原理和具體案例給大家提供了多個(gè)不錯(cuò)的實(shí)戰(zhàn)機(jī)會(huì)。 作為目前*炙手可熱的容器技術(shù)類圖書,本書適用于互聯(lián)網(wǎng)、云計(jì)算及企業(yè)級(jí)軟件開發(fā)、架構(gòu)、測(cè)試及運(yùn)維人員快速上手熟悉Docker容器,搭建以Docker為核心的基礎(chǔ)設(shè)施,并在生產(chǎn)環(huán)境中快速部署應(yīng)用以及管理容器集群。

作者簡介

  胡震,上海凡用信息科技有限公司CTO,長夜公司首席架構(gòu)師,DockOne社區(qū)優(yōu)秀翻譯。 楊潤青,90后博士僧,研究方向是網(wǎng)絡(luò)和信息安全。 黃帥(Henry Huang),目前就職于趨勢(shì)科技,負(fù)責(zé)集群運(yùn)維開發(fā)和維護(hù)工作,所在項(xiàng)目從2011年使用AWS服務(wù)至今,積累一定的AWS運(yùn)維經(jīng)驗(yàn)。Jeff Nickoloff會(huì)建立大規(guī)模的服務(wù)站,寫關(guān)于技術(shù)的文字,并幫助人們實(shí)現(xiàn)他們的產(chǎn)品目標(biāo)。他曾在****.com、Limelight網(wǎng)絡(luò)和亞利桑那州立大學(xué)做這些事情。2014年離開***,他創(chuàng)辦了一家咨詢公司,專注于為財(cái)富100強(qiáng)的企業(yè)和創(chuàng)業(yè)公司提供工具、培訓(xùn)和*佳實(shí)踐。

圖書目錄

目 錄
第1部分 保持一臺(tái)干凈的機(jī)器
第1章 歡迎來到Docker世界 2
1.1 什么是Docker 3
1.1.1 容器 3
1.1.2 容器不是虛擬化 4
1.1.3 在隔離的容器中運(yùn)行軟件 4
1.1.4 分發(fā)容器 6
1.2 Docker解決了什么問題 6
1.2.1 有條理 7
1.2.2 提高可移植性 8
1.2.3 保護(hù)你的機(jī)器 9
1.3 為什么Docker如此重要 10
1.4 何時(shí)何處使用Docker 11
1.5 案例:“hello world” 11
1.6 小結(jié) 13
第2章 在容器中運(yùn)行軟件 14
2.1 從Docker命令行工具獲得幫助 14
2.2 控制容器:建立一個(gè)網(wǎng)站的監(jiān)控器 15
2.2.1 創(chuàng)建和啟動(dòng)一個(gè)新的容器 16
2.2.2 運(yùn)行交互式容器 17
2.2.3 列舉、停止、重新啟動(dòng)和查看容器輸出 18
2.3 已解決的問題和PID命名空間 20
2.4 消除元數(shù)據(jù)沖突:構(gòu)建一個(gè)網(wǎng)站農(nóng)場(chǎng) 23
2.4.1 靈活的容器甄別 24
2.4.2 容器的狀態(tài)和依賴 26
2.5 構(gòu)建與環(huán)境無關(guān)的系統(tǒng) 28
2.5.1 只讀文件系統(tǒng) 29
2.5.2 環(huán)境變量的注入 31
2.6 建立持久的容器 34
2.6.1 自動(dòng)重啟容器 35
2.6.2 保持容器運(yùn)行init和supervisor進(jìn)程 36
2.7 清理 38
2.8 小結(jié) 39
第3章 軟件安裝的簡化 40
3.1 甄別軟件 41
3.1.1 什么是倉庫 41
3.1.2 使用標(biāo)簽 42
3.2 查找和安裝軟件 43
3.2.1 命令行使用Docker Hub 43
3.2.2 通過網(wǎng)站訪問Docker Hub 45
3.2.3 使用替代注冊(cè)服務(wù)器 47
3.2.4 鏡像文件 47
3.2.5 從Dockerfile安裝 49
3.3 安裝文件和隔離 49
3.3.1 鏡像層實(shí)戰(zhàn) 50
3.3.2 分層關(guān)系 51
3.3.3 容器文件系統(tǒng)抽象和隔離 52
3.3.4 工具集和文件系統(tǒng)結(jié)構(gòu)的好處 53
3.3.5 聯(lián)合文件系統(tǒng)的不足 53
3.4 小結(jié) 54
第4章 持久化存儲(chǔ)和卷間狀態(tài)共享 55
4.1 存儲(chǔ)卷的簡介 56
4.1.1 存儲(chǔ)卷提供容器無關(guān)的數(shù)據(jù)管理 56
4.1.2 NoSQL數(shù)據(jù)庫使用存儲(chǔ)卷 57
4.2 存儲(chǔ)卷的類型 60
4.2.1 綁定掛載卷 60
4.2.2 Docker托管卷 63
4.3 共享存儲(chǔ)卷 65
4.3.1 主機(jī)依賴的共享 65
4.3.2 通用共享和volumes-from標(biāo)志 66
4.4 托管卷的生命周期 68
4.4.1 托管卷的權(quán)限 68
4.4.2 存儲(chǔ)卷的清理 69
4.5 存儲(chǔ)卷的高級(jí)容器模式 70
4.5.1 存儲(chǔ)卷容器模式 70
4.5.2 數(shù)據(jù)經(jīng)壓縮的存儲(chǔ)卷容器 72
4.5.3 多態(tài)容器模式 73
4.6 小結(jié) 74
第5章 網(wǎng)絡(luò)訪問 75
5.1 網(wǎng)絡(luò)相關(guān)的背景知識(shí) 76
5.1.1 基礎(chǔ):協(xié)議,接口和端口 76
5.1.2 高級(jí):網(wǎng)絡(luò),NAT和端口轉(zhuǎn)發(fā) 77
5.2 Docker的網(wǎng)絡(luò) 79
5.2.1 本地Docker網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu) 79
5.2.2 四種網(wǎng)絡(luò)結(jié)構(gòu)原型 80
5.3 Closed容器 81
5.4 Bridged容器 83
5.4.1 訪問外部網(wǎng)絡(luò) 84
5.4.2 自定義命名解析 85
5.4.3 開放對(duì)容器的訪問 88
5.4.4 跨容器通信 91
5.4.5 修改網(wǎng)橋接口的配置 92
5.5 Joined容器 93
5.6 Open容器 95
5.7 跨容器依賴 96
5.7.1 鏈接――本地服務(wù)發(fā)現(xiàn) 97
5.7.2 鏈接別名 98
5.7.3 環(huán)境變量的改動(dòng) 99
5.7.4 鏈接的本質(zhì)和缺點(diǎn) 101
5.8 小結(jié) 102
第6章 隔離――限制危險(xiǎn) 103
6.1 資源分配 104
6.1.1 內(nèi)存限制 104
6.1.2 CPU 105
6.1.3 設(shè)備的訪問權(quán) 108
6.2 共享內(nèi)存 108
6.2.1 跨容器的進(jìn)程間通信 109
6.2.2 開放內(nèi)存容器 110
6.3 理解用戶 111
6.3.1 Linux用戶命令空間 111
6.3.2 run-as用戶 111
6.3.3 用戶和卷 114
6.4 能力――操作系統(tǒng)功能的授權(quán) 116
6.5 運(yùn)行特權(quán)容器 117
6.6 使用加強(qiáng)工具創(chuàng)建更健壯的容器 118
6.6.1 指定額外的安全選項(xiàng) 119
6.6.2 微調(diào)LXC 120
6.7 因地制宜地構(gòu)建容器 121
6.7.1 應(yīng)用 121
6.7.2 高層的系統(tǒng)服務(wù) 122
6.7.3 低層的系統(tǒng)服務(wù) 122
6.8 小結(jié) 122
第2部分 鏡像發(fā)布:如何打包軟件
第7章 在鏡像中打包軟件 126
7.1 從容器構(gòu)建鏡像 126
7.1.1 打包Hello World 127
7.1.2 打包Git 128
7.1.3 審查文件系統(tǒng)的改動(dòng) 128
7.1.4 Commit――創(chuàng)建新鏡像 129
7.1.5 可配置的鏡像屬性 130
7.2 深入Docker鏡像和層 131
7.2.1 深入聯(lián)合文件系統(tǒng) 132
7.2.2 重新認(rèn)識(shí)鏡像、層、倉庫和標(biāo)簽 134
7.2.3 鏡像體積和層數(shù)限制 137
7.3 導(dǎo)出和導(dǎo)入扁平文件系統(tǒng) 139
7.4 版本控制的最佳實(shí)踐 141
7.5 小結(jié) 143
第8章 構(gòu)建自動(dòng)化和高級(jí)鏡像設(shè)置 144
8.1 使用Dockerfile打包Git 144
8.2 Dockerfile入門 148
8.2.1 元數(shù)據(jù)指令 148
8.2.2 文件系統(tǒng)指令 152
8.3 注入下游鏡像在構(gòu)建時(shí)發(fā)生的操作 155
8.4 使用啟動(dòng)腳本和多進(jìn)程容器 158
8.4.1 驗(yàn)證環(huán)境相關(guān)的先決條件 158
8.4.2 初始化進(jìn)程 160
8.5 加固應(yīng)用鏡像 161
8.5.1 內(nèi)容可尋址鏡像標(biāo)識(shí)符 161
8.5.2 用戶權(quán)限 162
8.5.3 SUID和SGID權(quán)限 164
8.6 小結(jié) 166
第9章 公有和私有軟件分發(fā) 168
9.1 選擇一個(gè)分發(fā)方法 169
9.1.1 分發(fā)選項(xiàng)圖譜 169
9.1.2 選擇標(biāo)準(zhǔn) 169
9.2 通過托管Registry發(fā)布 172
9.2.1 通過公有倉庫發(fā)布:你好!Docker Hub 172
9.2.2 使用自動(dòng)構(gòu)建發(fā)布公有項(xiàng)目 174
9.2.3 私有托管倉庫 176
9.3 私有Registry介紹 178
9.3.1 使用Registry鏡像 180
9.3.2 從Registry使用鏡像 181
9.4 鏡像的手動(dòng)發(fā)布和分發(fā) 181
9.5 鏡像源代碼分發(fā)工作流程 186
9.6 小結(jié) 189
第10章 運(yùn)行自定義Registry 190
10.1 運(yùn)行個(gè)人Registry 191
10.1.1 再度介紹鏡像 192
10.1.2 介紹V2 API 193
10.1.3 定制鏡像 195
10.2 集中式Registry的增強(qiáng) 196
10.2.1 創(chuàng)建一個(gè)反向代理 197
10.2.2 在反向代理上配置HTTP(TLS) 199
10.2.3 添加身份認(rèn)證層 202
10.2.4 客戶端兼容性 206
10.2.5 應(yīng)用于生產(chǎn)環(huán)境之前 208
10.3 持久化的BLOB存儲(chǔ) 210
10.3.1 微軟Azure托管遠(yuǎn)程存儲(chǔ) 211
10.3.2 AWS S3托管遠(yuǎn)程存儲(chǔ) 212
10.3.3 RADOS(Ceph)的內(nèi)部遠(yuǎn)程存儲(chǔ) 214
10.4 擴(kuò)展訪問和延遲的改進(jìn) 215
10.4.1 與元數(shù)據(jù)緩存集成 215
10.4.2 使用存儲(chǔ)中間件簡化BLOB傳輸 217
10.5 通過通知集成 219
10.6 小結(jié) 224
第3部分 多容器和多主機(jī)環(huán)境
第11章 Docker Compose聲明式環(huán)境 228
11.1 Docker Compose:第一天的啟動(dòng)并運(yùn)行 228
11.1.1 用一個(gè)簡單的開發(fā)環(huán)境入門 229
11.1.2 一個(gè)復(fù)雜的架構(gòu):分布式系統(tǒng)和Elasticsearch的集成 231
11.2 環(huán)境內(nèi)的迭代 233
11.2.1 構(gòu)建、啟動(dòng)和重新構(gòu)建服務(wù) 234
11.2.2 服務(wù)伸縮和刪除 237
11.2.3 迭代和持久化狀態(tài) 238
11.2.4 網(wǎng)絡(luò)和連接問題 239
11.3 開始一個(gè)新項(xiàng)目:三個(gè)示例中的Compose YAML 240
11.3.1 啟動(dòng)前的構(gòu)建、環(huán)境、元數(shù)據(jù)和網(wǎng)絡(luò) 240
11.3.2 已知的組件和綁定掛載卷 241
11.3.3 卷容器和擴(kuò)展服務(wù) 242
11.4 小結(jié) 243
第12章 Docker Machine和Swarm集群 245
12.1 介紹Docker Machine 246
12.1.1 構(gòu)建和管理Docker Machine 246
12.1.2 配置Docker客戶端與遠(yuǎn)程Daemon工作 249
12.2 Docker Swarm介紹 252
12.2.1 借助于Docker Machine構(gòu)建Swarm集群 252
12.2.2 Swarm擴(kuò)展了Docker遠(yuǎn)程API 255
12.3 Swarm調(diào)度 258
12.3.1 Spread算法 258
12.3.2 用過濾器調(diào)整調(diào)度 260
12.3.3 BinPack和隨機(jī)調(diào)度算法 263
12.4 Swarm服務(wù)發(fā)現(xiàn) 265
12.4.1 Swarm和單主機(jī)網(wǎng)絡(luò) 266
12.4.2 服務(wù)發(fā)現(xiàn)生態(tài)系統(tǒng)和權(quán)宜之計(jì) 268
12.4.3 展望多主機(jī)網(wǎng)絡(luò) 269
12.5 小結(jié) 270
后記 271

本目錄推薦

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