会员   密码 您忘记密码了吗?
1,580,260 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

浏览历史

当前位置: 首页 > 简体书 > Docker實戰
Docker實戰
上一张
下一张
prev next

Docker實戰

作者: (美)JEFF NICKOLOFF
出版社: 電子工業出版社
出版日期: 2017-01-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT474.00
市场价格: RM85.21
本店售价: RM75.84
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

自從2013年3月Docker0.1版本發布以來,以其為代表的容器技術發展也走上了快車道,Docker容器在很大程度上改變了軟件的架構設計、開發和運維部署方式,也給早些年就提出的微服務架構模式插上了快速起飛的翅膀。

本書由Jeff Nickoloff編寫,共分為三部分,第一部分(1~6章)重點介紹Docker容器的資源隔離和權限控制及基礎理論,第二部分(7~10章)詳細解釋了如何打包制作鏡像以及各種鏡像分發基礎設施的建設,最后一部分(11~12章)聚焦於Docker容器的組合操作也就是多容器和多主機環境的管理。

本書圖文並茂,結合基本原理和具體案例給大家提供了多個不錯的實戰機會。作為目前最炙手可熱的容器技術類圖書,本書適用於互聯網、雲計算及企業級軟件開發、架構、測試及運維人員快速上手熟悉Docker容器,搭建以Docker為核心的基礎設施,並在生產環境中快速部署應用以及管理容器集群。

Jeff Nickoloff 會建立大規模的服務站,寫關於技術的文字,並幫助人們實現他們的產品目標。他曾在Amazon.com、Limelight網絡和亞利桑那州立大學做這些事情。2014年離開亞馬遜,他創辦了一家咨詢公司,專注於為財富100強的企業和創業公司提供工具、培訓和最佳實踐。


目錄

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