-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

每天5分鐘玩轉Docker容器技術

( 簡體 字)
作者:CloudMan類別:1. -> 作業系統 -> Docker
譯者:
出版社:清華大學出版社每天5分鐘玩轉Docker容器技術 3dWoo書號: 47827
詢問書籍請說出此書號!

缺書
NT售價: 245

出版日:9/1/2017
頁數:241
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302479703
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

寫在最前面
《每天5分鐘玩轉Docker容器技術》是一個有關容器技術的教程,有下面兩個特點:
1. 系統講解當前最流行的容器技術
從容器的整個生態環境到各種具體的技術,從整體到細節逐一討論。
2. 重實踐并兼顧理論
從實際操作的角度帶領大家學習容器技術。
為什么要寫這個
簡單回答是:容器技術非常熱門,但門檻高。
容器技術是繼大數據和云計算之后又一炙手可熱的技術,而且未來相當一段時間內都會非常流行。
對 IT 行業來說,這是一項非常有價值的技術。而對 IT 從業者來說,掌握容器技術是市場的需要,也是提升自我價值的重要途徑。
拿我自己的工作經歷來說,畢業后的頭幾年是做 J2EE 應用開發。后來到一家大型IT公司,公司的產品從中間件到操作系統、從服務器到存儲、從虛擬化到云計算都有涉及。
我所在的部門是專門做 IT 基礎設施實施服務的,最開始是做傳統的 IT 項目,包括服務器配置,雙機 HA 等。隨著虛擬化技術成熟,工作上也開始涉及各種虛擬化技術的規劃和實施,包括 VMWare、KVM、PowerVM等。后來云計算興起,在公司業務和個人興趣的驅動下,開始學習和實踐 OpenStack,在這個過程中寫了《每天5分鐘玩轉OpenStack》教程并得到大家的認可。
現在以 Docker 為代表的容器技術來了,而且關注度越來越高,這一點可以從 Google Trend 中 Docker 的搜索上升趨勢中清楚看到,如下圖所示(圖中曲線上揚最高的為Docker)。

每一輪新技術的興起,無論對公司還是個人既是機會也是挑戰。
我個人的看法是:如果某項新技術未來將成為主流,就應該及早盡快掌握。 因為:
1. 新技術意味著新的市場和新的需求
初期掌握這種技術的人不會很多,而市場需求會越來越大,因而會形成供不應求的賣方市場,物以稀為貴,這對技術人員將是一個難得的價值提升機會。
2. 學習新技術需要時間和精力,早起步早成材
機會講過了,咱們再來看看挑戰。
新技術往往意味著技術上的突破和創新,會有不少新的概念和方法,而且從大數據、云計算和容器技術來看,這些新技術都是平臺級別,覆蓋的技術范圍非常廣,包括計算、網絡、存儲、高可用、監控、安全等多個方面,要掌握這些新技術對 IT 老兵尚有不小困難,更別說新人了。
由于對技術一直保持著很高的熱誠和執著,在掌握了 OpenStack 相關 IaaS 技術后,我便開始調研 PaaS 技術棧。正好這時 Docker 也越來越流行,自然而然便開始了容器相關技術的學習研究和實踐。
學習容器技術的過程可以說是驚喜不斷,經常驚嘆于容器理念的先進和容器生態環境的完整和強大。很多傳統軟件開發和運維中的難題在容器世界里都能輕松解決,也漸漸理解了容器為何如此受到青睞。
不夸張地說,容器為我打開了一扇通往另一個軟件世界的大門,讓我沉浸其中,激動不已。高興之余,我也迫不及待地想把我所看到、所學到和所想到的有關容器的知識介紹給更多的人,讓更多的IT工程師能夠從容器技術中受益。
我希望這個教程也能為大家打開這扇門,降低學習的曲線,系統地學習和掌握容器技術。
寫給誰看
這套教程的目標讀者包括:
1. 軟件開發人員
相信微服務架構(Microservice Architectur)會逐漸成為開發應用系統的主流,而容器則是這種架構的基石。市場將需要更多能夠開發出基于容器的應用程序的軟件開發人員。
2. IT 實施和運維工程師
容器為應用提供了更好的打包和部署方式,越來越多的應用將以容器的方式在開發、測試和生產環境中運行。掌握容器相關技術將成為實施和運維工程師的核心競爭力。
3. 我自己
我堅信最好的學習方法是分享。編寫這個教程同時也是對自己學習和實踐容器技術的總結。對于知識,只有把它寫出來并能夠讓其他人理解,才能說明真正掌握。
包含哪些內容
本系列教程分為《每天5分鐘玩轉Docker容器技術》和《每天5分鐘玩轉Docker容器平臺》兩本,包括以下三大塊內容:

下面分別介紹各部分包含的內容。
1. 啟程
如下圖所示,“啟程”會介紹容器的生態系統,讓大家先從整體上了解容器包含哪些技術,各種技術之間的相互關系是什么,然后再來看我們的教程都會涉及生態中的哪些部分。

為了讓大家盡快對容器有個感性認識,我們會搭建實驗環境并運行第一個容器,為之后的學習熱身。
2. 容器技術
“容器技術”主要內容如下圖所示,包含“容器核心知識”和“容器進階知識”兩部分。

核心知識主要回答有關容器 What、Why 和 How 三方面的問題,其中以 How 為重,將展開討論架構、鏡像、容器、網絡和存儲。
進階知識包括將容器真正用于生成所必需的技術,包括多主機管理、跨主機網絡、監控、數據管理、日志管理和安全管理。
這部分內容將在本書《每天5分鐘玩轉Docker容器技術》中詳細討論。
3. 容器平臺技術
如下圖所示,“容器平臺技術”包括容器編排引擎、容器管理平臺和基于容器的 PaaS。容器平臺技術在生態環境中占據著舉足輕重的位置,對于容器是否能夠落地,是否能應用于生產至關重要。

我們將在本系列教程的另一本書《每天5分鐘玩轉Docker容器平臺》中詳細討論容器編排引擎、容器管理平臺和基于容器的 PaaS,學習和實踐業界最具代表性的開源產品。
怎樣的編寫方式
我會繼續采用《每天5分鐘玩轉OpenStack》(本書已在清華出版)的方式,通過大量的實驗由淺入深地探討和實踐容器技術,力求達到如下目標:
(1)快速上手:以最直接、最有效的方式讓大家把容器用起來。
(2)循序漸進:由易到難、從淺入深,詳細分析容器的各種功能和配置使用方法。
(3)理解架構:從設計原理和架構分析入手,深入探討容器的架構和運行機理。
(4)注重實踐:以大量實際操作案例為基礎,讓大家能夠掌握真正的實施技能。
在內容的發布上還是通過微信公眾號(cloudman6)每周一、三、五定期分享。歡迎大家通過公眾號提出問題和建議,進行技術交流。
為什么叫《每天5分鐘玩轉Docker容器技術》
為了降低學習的難度并且考慮到移動端碎片化閱讀的特點,每次推送的內容大家只需要花5分鐘就能看完(注意這里說的是看完,有時候完全理解可能需要更多時間哈),每篇內容包含1~3個知識點,這就是我把本書命名為《每天5分鐘玩轉Docker容器技術》的原因。雖然是碎片化推送,但整個教程是系統、連貫和完整的,只是化整為零了。
好了,今天這5分鐘算是開了個頭,下面我們正式開始玩轉Docker容器技術。

編 者
2017年7月

內容簡介:

Docker和容器技術是當下最火的IT技術,無論是互聯網還是傳統企業都在研究和實踐如何用容器構建自己的 IT 基礎設施。學習本書能夠讓讀者少走彎路,系統地學習、掌握和實踐 Docker 和容器技術。
本書共分為三部分。第一部分介紹容器技術生態環境。第二部分是容器核心知識,包括架構、鏡像、容器、網絡和存儲。第三部分是容器進階知識,包括多主機管理、跨主機網絡方案、監控、日志管理和數據管理。讀者在學習的過程中,可以跟著教程進行操作,在實踐中掌握 Docker 容器技術的核心技能。在之后的工作中,可以將本教程作為參考書,按需查找相關知識點。
本書主要面向微服務軟件開發人員,以及 IT 實施和運維工程師等相關人員,也適合高等院校和培訓學校相關專業的師生教學參考。
目錄:

第一篇啟程
第1章鳥瞰容器生態系統3
1.1容器生態系統3
1.2本教程覆蓋的知識范圍10
1.3準備實驗環境10
1.3.1環境選擇10
1.3.2安裝Docker10
1.4運行第一個容器11
1.5小結12
第二篇容器技術
第2章容器核心知識概述15
2.1What——什么是容器15
2.2Why——為什么需要容器16
2.2.1容器解決的問題16
2.2.2Docker的特性20
2.2.3容器的優勢20
2.3How——容器是如何工作的21
2.4小結24
第3章Docker鏡像26
3.1鏡像的內部結構26
3.1.1hello-world——最小的鏡像26
3.1.2base鏡像27
3.1.3鏡像的分層結構30
3.2構建鏡像32
3.2.1dockercommit32
3.2.2Dockerfile34
3.3RUNvsCMDvsENTRYPOINT42
3.3.1Shell和Exec格式42
3.3.2RUN44
3.3.3CMD44
3.3.4ENTRYPOINT45
3.3.5最佳實踐46
3.4分發鏡像46
3.4.1為鏡像命名46
3.4.2使用公共Registry49
3.4.3搭建本地Registry51
3.5小結52
第4章Docker容器55
4.1運行容器55
4.1.1讓容器長期運行56
4.1.2兩種進入容器的方法57
4.1.3運行容器的最佳實踐59
4.1.4容器運行小結59
4.2stop/start/restart容器60
4.3pause/unpause容器61
4.4刪除容器61
4.5StateMachine62
4.6資源限制65
4.6.1內存限額65
4.6.2CPU限額66
4.6.3BlockIO帶寬限額68
4.7實現容器的底層技術69
4.7.1cgroup70
4.7.2namespace70
4.8小結72
第5章Docker網絡74
5.1none網絡74
5.2host網絡75
5.3bridge網絡76
5.4user-defined網絡78
5.5容器間通信84
5.5.1IP通信84
5.5.2DockerDNSServer85
5.5.3joined容器85
5.6將容器與外部世界連接87
5.6.1容器訪問外部世界87
5.6.2外部世界訪問容器90
5.7小結91
第6章Docker存儲92
6.1storagedriver92
6.2DataVolume94
6.2.1bindmount94
6.2.2dockermanagedvolume96
6.3數據共享99
6.3.1容器與host共享數據99
6.3.2容器之間共享數據99
6.4volumecontainer100
6.5data-packedvolumecontainer102
6.6DataVolume生命周期管理103
6.6.1備份104
6.6.2恢復104
6.6.3遷移104
6.6.4銷毀104
6.7小結105
第三篇容器進階知識
第7章多主機管理109
7.1實驗環境描述110
7.2安裝DockerMachine111
7.3創建Machine112
7.4管理Machine114
第8章容器網絡117
8.1libnetwork&CNM117
8.2overlay119
8.2.1實驗環境描述120
8.2.2創建overlay網絡121
8.2.3在overlay中運行容器122
8.2.4overlay網絡連通性124
8.2.5overlay網絡隔離126
8.2.6overlayIPAM127
8.3macvlan127
8.3.1準備實驗環境127
8.3.2創建macvlan網絡128
8.3.3macvlan網絡結構分析130
8.3.4用sub-interface實現多macvlan網絡131
8.3.5macvlan網絡間的隔離和連通132
8.4flannel136
8.4.1實驗環境描述137
8.4.2安裝配置etcd137
8.4.3buildflannel138
8.4.4將flannel網絡的配置信息保存到etcd139
8.4.5啟動flannel139
8.4.6配置Docker連接flannel141
8.4.7將容器連接到flannel網絡143
8.4.8flannel網絡連通性144
8.4.9flannel網絡隔離146
8.4.10flannel與外網連通性146
8.4.11host-gwbackend146
8.5weave148
8.5.1實驗環境描述148
8.5.2安裝部署weave149
8.5.3在host1中啟動weave149
8.5.4在host1中啟動容器150
8.5.5在host2中啟動weave并運行容器153
8.5.6weave網絡連通性154
8.5.7weave網絡隔離155
8.5.8weave與外網的連通性156
8.5.9IPAM158
8.6calico158
8.6.1實驗環境描述159
8.6.2啟動etcd159
8.6.3部署calico160
8.6.4創建calico網絡161
8.6.5在calico中運行容器161
8.6.6calico默認連通性164
8.6.7calicopolicy167
8.6.8calicoIPAM169
8.7比較各種網絡方案170
8.7.1網絡模型171
8.7.2DistributedStore171
8.7.3IPAM171
8.7.4連通與隔離172
8.7.5性能172
第9章容器監控173
9.1Docker自帶的監控子命令173
9.1.1ps173
9.1.2top174
9.1.3stats175
9.2sysdig175
9.3WeaveScope179
9.3.1安裝179
9.3.2容器監控181
9.3.3監控host184
9.3.4多主機監控186
9.4cAdvisor189
9.4.1監控DockerHost189
9.4.2監控容器191
9.5Prometheus194
9.5.1架構194
9.5.2多維數據模型195
9.5.3實踐196
9.6比較不同的監控工具204
9.7幾點建議205
第10章日志管理207
10.1Dockerlogs207
10.2Dockerloggingdriver209
10.3ELK211
10.3.1日志處理流程211
10.3.2安裝ELK套件212
10.3.3Filebeat214
10.3.4管理日志216
10.4Fluentd220
10.4.1安裝Fluentd221
10.4.2重新配置Filebeat221
10.4.3監控容器日志221
10.5Graylog222
10.5.1Graylog架構222
10.5.2部署Graylog223
10.5.3配置Graylog225
10.5.4監控容器日志227
10.6小結229
第11章數據管理230
11.1從一個例子開始230
11.2實踐Rex-Raydriver232
11.2.1安裝Rex-Ray232
11.2.2配置VirtualBox234
11.2.3創建Rex-Rayvolume236
11.2.4使用Rex-Rayvolume237
寫在最后243
序: