關(guān)于我們
書單推薦
新書推薦
|
沒什么難的Docker入門與開發(fā)實(shí)戰(zhàn)
作為引領(lǐng)近幾年容器虛擬化領(lǐng)域的技術(shù),Docker的發(fā)展方興未艾。但由于其出現(xiàn)不過數(shù)年,關(guān)于它的資料,特別是中文資料仍然相對匱乏,導(dǎo)致國內(nèi)許多開發(fā)者對其感到陌生。本書正是以布道Docker為理念,由淺入深地從闡述Docker的基本概念、講解常規(guī)使用方法、進(jìn)行操作實(shí)踐的演示、展示提高和進(jìn)階用法、剖析內(nèi)部原理和底層架構(gòu)等多個(gè)方面,全方面的展現(xiàn)Docker所具有的魅力。
適讀人群 :運(yùn)維及相關(guān)崗位人員; 軟件系統(tǒng)架構(gòu)師; 廣大開發(fā)、測試工程師; 培訓(xùn)機(jī)構(gòu); 從事云計(jì)算探索和研究的人員; 對新興科技,特別是Docker感興趣的愛好者。
適合不同開發(fā)者的Docker工具書!
內(nèi)容全面:基礎(chǔ)命令、進(jìn)階用法悉數(shù)囊括,知識(shí)點(diǎn)全覆蓋。
活學(xué)活用:大量實(shí)踐案例展示,指導(dǎo)上手使用,深化理解。
知識(shí)新鮮:以*新文檔、材料為基礎(chǔ),跟進(jìn)Docker演進(jìn)的步伐。
在快速發(fā)展的互聯(lián)網(wǎng)領(lǐng)域,總在涌現(xiàn)引領(lǐng)潮流的新技術(shù),最近幾年,Docker就成為了這些技術(shù)中的一員。Docker作為近幾年備受關(guān)注的程序部署方案,實(shí)現(xiàn)了程序的快速部署,為分布式等場景下的部署提供了有力的幫助。在云計(jì)算以及虛擬化領(lǐng)域,Docker這個(gè)誕生不過數(shù)年的項(xiàng)目,只能算是新生兒,在功能完整性和穩(wěn)定性方面,都不及其他已經(jīng)經(jīng)受過歷史考驗(yàn)的項(xiàng)目。但為何僅僅幾年的風(fēng)光,就讓Docker成為了業(yè)界公認(rèn)的優(yōu)秀項(xiàng)目,關(guān)鍵在于Docker真正解決了分布式部署效率這一行業(yè)痛點(diǎn)。Docker所提供的嶄新分布式部署方案,不但像其他虛擬化方案一樣,大幅減低了部署過程中適配環(huán)境所帶來的額外工作,還充分弱化了虛擬化程序在虛擬化過程中對性能的影響,使得在Docker中運(yùn)行的程序的效率能夠與直接運(yùn)行在真實(shí)操作系統(tǒng)中的程序的效率相媲美。
不過Docker能夠受到各界追捧的原因并不僅僅在于其在部署領(lǐng)域帶來的變化,其受到贊譽(yù)的原因也在于它能夠打通開發(fā)、測試、運(yùn)維等多個(gè)環(huán)節(jié),為整個(gè)項(xiàng)目的開發(fā)流程營造統(tǒng)一的運(yùn)行環(huán)境。由于Docker提供了非常輕量級(jí)的容器虛擬化方案,使得Docker能夠以非常低的消耗運(yùn)行在系統(tǒng)中。這也就使得我們不僅可以使用Docker在服務(wù)器中部署程序,也能在開發(fā)過程中利用Docker在本地系統(tǒng)中搭建程序運(yùn)行環(huán)境。
由于Docker誕生不過數(shù)年,并且發(fā)展和迭代的速度非?,所以其相關(guān)的教學(xué)資料比較匱乏,特別是中文文獻(xiàn),相對其他發(fā)展數(shù)十年的技術(shù)來說,簡直是上少之又少。本書正是建立在幫助希望了解和使用Docker的讀者的基礎(chǔ)上,收集了與Docker相關(guān)的資料,特別是缺少中文翻譯的外文資料,集合整理成文,并與相關(guān)的案例、實(shí)踐組合搭配,給讀者提供了解Docker的捷徑。
本書由淺及深,從不同維度解讀和展現(xiàn)了Docker的概念、原理、使用方法、實(shí)踐案例以及周邊工具,不同崗位的開發(fā)者,或者是對Docker有著不同認(rèn)知的開發(fā)者都能從中得到想要的知識(shí)。本書雖不能全面地闡述Docker的所有功能與特性,但系統(tǒng)性的知識(shí)梳理、理論與實(shí)踐相結(jié)合的方式,都為讀者了解和使用Docker提供了有效的幫助和指導(dǎo)。不論你將本書看作Docker的入門教材,還是當(dāng)成提升Docker知識(shí)儲(chǔ)備的工具手冊,都能為你帶來不錯(cuò)的效果。
因受作者水平和成書時(shí)間所限,本書難免存有疏漏和不當(dāng)之處,敬請指正。
本書特色
由淺及深,適合不同知識(shí)層面的讀者
本書的內(nèi)容涵蓋了Docker的基礎(chǔ)概念和常規(guī)使用方法,常見服務(wù)器程序在Docker中搭建和使用的實(shí)踐,安全策略和輔助工具等知識(shí)概述,由淺入深,循序漸進(jìn),為不同的讀者準(zhǔn)備了不同的知識(shí)盛宴。對于Docker中的重點(diǎn)知識(shí),必備、常用的操作方法和策略,本書不惜筆墨,進(jìn)行了充分甚至反復(fù)的闡述和演示。而可供延展的知識(shí)點(diǎn),雖然由于篇幅限制不能詳細(xì)講解,也都一一列出,供大家自行查閱,進(jìn)行延伸閱讀。本書的章節(jié)脈絡(luò)清晰明確,使讀者能循序漸近地掌握Docker知識(shí),是一本不可多得的Docker資料手冊和教材。
通俗易懂,理論與實(shí)踐結(jié)合
本書的行文中穿插了很多對Docker使用方法的展示,并提供了專門的章節(jié)演示Docker的實(shí)踐之道。通過這些操作示例的引導(dǎo),避免了讀者進(jìn)行紙上談兵式的閱讀,也使得章節(jié)之間的知識(shí)可以由這些演示串聯(lián)起來,能夠減少知識(shí)脫節(jié)的現(xiàn)象發(fā)生。而對于理論知識(shí)的說明,本書絕不是生搬硬套地進(jìn)行教條式的列舉,也沒有以堆砌專有詞匯的方式簡單概括,而是通過通俗語言將晦澀的知識(shí)以生活化的方式展現(xiàn)出來,讓讀者,特別是Docker初學(xué)者更容易地理解Docker。
跟進(jìn)時(shí)代,采取最新資料編寫
Docker是一門新興技術(shù),也是一門快速發(fā)展的技術(shù),僅僅誕生數(shù)年就已經(jīng)迭代了數(shù)十個(gè)版本。由于Docker在迭代的過程中不斷地優(yōu)化、完善、補(bǔ)充,所以不同版本之間所具有的功能和使用方法都存在很大的區(qū)別,所以學(xué)習(xí)Docker一定要使用新鮮的一手資料。本書在編寫的過程中,收集和參考了大量最新的材料,特別是從Docker官方文檔中提取了很多Docker最新的特性和使用方法,也從Docker的技術(shù)說明和源代碼中總結(jié)了Docker的架構(gòu)邏輯。由于本書是在對這些嶄新的材料的收集匯總以及精心梳理的基礎(chǔ)上完成的,所以本書可以為大家學(xué)習(xí)Docker提供強(qiáng)有力的支持。
本書的內(nèi)容及體系結(jié)構(gòu)
本書主要分為三部分,分別從基礎(chǔ)、實(shí)踐和提高的角度向讀者介紹Docker的知識(shí)概念和使用方法。
第一部分為基礎(chǔ)篇,包含了第1~5章的內(nèi)容。在基礎(chǔ)篇中,我們會(huì)講解了Docker的歷史和基本概念,介紹最常見且最基礎(chǔ)的Docker使用方法。
第1章初始Docker
本章從虛擬化、容器技術(shù)的發(fā)展歷史與現(xiàn)狀出發(fā),逐步引入和展示Docker這項(xiàng)全新的虛擬化解決方案。除了向讀者介紹Docker的組成結(jié)構(gòu)以及發(fā)展歷史,我們還將比較Docker與以往的部署及虛擬化方案的不同,分析使用Docker的優(yōu)勢所在,并介紹適合使用Docker的常見場景。另外,我們還將教會(huì)大家如何在常用的幾種操作系統(tǒng)中安裝Docker。
第2章鏡像與倉庫
本章由Docker鏡像的概念出發(fā),講解Docker鏡像的結(jié)構(gòu)特點(diǎn)與組成形式,比較Docker鏡像與其他虛擬化方案中鏡像的異同,同時(shí)將常用的Docker鏡像管理方法介紹給讀者。除此之外,我們還將介紹如何使用Docker特有的鏡像倉庫存儲(chǔ)、共享和遷移鏡像,以及Docker官方所提供的DockerHub鏡像倉庫的使用方法。
第3章管理和使用容器
本章主要介紹了Docker的核心,也就是容器技術(shù)中容器的實(shí)現(xiàn)。本章將逐一談及新增、運(yùn)行、停止、刪除等常用的容器操作方法,也將向讀者展示如何查看容器的運(yùn)行狀態(tài)以及如何進(jìn)行到容器中操作。另外,本章也會(huì)提及如何進(jìn)行容器的遷移。
第4章數(shù)據(jù)卷與網(wǎng)絡(luò)
本章從容器的網(wǎng)絡(luò)數(shù)據(jù)和文件數(shù)據(jù)的交換出發(fā),引出和介紹了Docker提供的容器網(wǎng)絡(luò)和數(shù)據(jù)卷這兩個(gè)模塊。在有關(guān)數(shù)據(jù)卷的部分,讀者可以了解到數(shù)據(jù)卷的基本概念,以及如何創(chuàng)建或者從宿主機(jī)中掛載數(shù)據(jù)卷。在有關(guān)容器網(wǎng)絡(luò)的部分,讀者可以了解到容器網(wǎng)絡(luò)的基本知識(shí),以及如何讓外部網(wǎng)絡(luò)訪問到容器或者實(shí)現(xiàn)容器間的網(wǎng)絡(luò)通信。
第5章制作鏡像
本章主要介紹如何根據(jù)需要,通過編寫Dockerfile構(gòu)建Docker鏡像。在展示了如何將程序打包到鏡像中之后,我們還對Dockerfile的寫法以及可能使用到的指令進(jìn)行了全方位的講解。
第二部分是實(shí)踐篇,由第6~11章的內(nèi)容組成。在實(shí)踐篇中,我們將以基礎(chǔ)篇中所學(xué)到的知識(shí),分別對常見的服務(wù)器程序在Docker中的使用進(jìn)行實(shí)踐。
第6章SSH服務(wù)
本章主要展示了SSH服務(wù)在Docker容器中運(yùn)行的方式,并介紹了SSH服務(wù)在Docker中所扮演的角色,還帶領(lǐng)讀者進(jìn)行了在Docker容器中搭建SSH服務(wù),以及構(gòu)建包含SSH服務(wù)的Docker鏡像的實(shí)踐。
第7章Web服務(wù)器
本章首先簡單介紹了Web服務(wù)和能夠提供Web服務(wù)的常見程序,也分別在Docker容器中搭建了Apache、Nginx和Tomcat這幾個(gè)常見的Web服務(wù)程序,還將通過編寫Dockerfile的方式將這幾款Web服務(wù)程序封裝成Docker鏡像。
第8章數(shù)據(jù)庫程序
本章對目前最受歡迎的開源關(guān)系型數(shù)據(jù)庫MySQL和非關(guān)系型數(shù)據(jù)庫MongoDB做簡單介紹,展示如何在Docker容器中使用它們,也會(huì)提及如何讓這些數(shù)據(jù)庫向外提供服務(wù)。我們還將把這幾款數(shù)據(jù)庫軟件通過Dockerfile構(gòu)建成鏡像,方便在Docker中使用。
第9章緩存工具
本章首先提及在服務(wù)器中使用緩存工具的意義,并介紹Memcached和Redis這兩款常用作處理緩存的工具。在了解Memcached和Redis的使用之后,我們還會(huì)將它們部署到Docker容器之中,并通過搭建程序的實(shí)踐,將這兩款程序封裝到Docker鏡像里。
第10章動(dòng)態(tài)處理程序
本章主要介紹了Java、PHP、Python和Node.js這幾款常用的處理Web請求的程序,并講解了如何在Docker容器中安裝或搭建這些程序。在了解了這些程序在容器中安裝或搭建的過程之后,我們還將通過Dockerfile將這幾款軟件封裝成獨(dú)立的Docker鏡像。
第11章綜合演練
本章在之前所進(jìn)行的實(shí)踐的基礎(chǔ)上,將實(shí)踐過的Web服務(wù)程序、數(shù)據(jù)庫程序、緩存工具和動(dòng)態(tài)處理程序,通過運(yùn)行它們的Docker容器進(jìn)行組合,講解如何通過Docker構(gòu)建和運(yùn)行一套完整的Web服務(wù)體系。
第三部分是提高篇,匯總在第12~16章的內(nèi)容中。在提高篇中,我們主要針對一些Docker更深入的使用方法和概念、原理進(jìn)行學(xué)習(xí)和探究。
第12章網(wǎng)絡(luò)進(jìn)階
本章在之前所介紹的Docker網(wǎng)絡(luò)基礎(chǔ)概念和使用方法的基礎(chǔ)之上,進(jìn)一步深入地介紹了Docker網(wǎng)絡(luò)的實(shí)現(xiàn)方法,闡述Docker網(wǎng)絡(luò)的底層架構(gòu)以及容器網(wǎng)絡(luò)模型的概念,對用于管理容器網(wǎng)絡(luò)的命令,也做了專門介紹。另外,本章還向讀者介紹了如何進(jìn)行深度定制的Docker容器網(wǎng)絡(luò)配置和控制。
第13章安全加固
本章從Docker的底層隔離機(jī)制出發(fā),闡述了隔離機(jī)制是如何保證容器中程序互不干擾的,并由此展開,談到了控制容器使用資源的方式和原理。我們還介紹了如何通過內(nèi)核的安全機(jī)制及相關(guān)安全防護(hù)程序,來控制程序權(quán)限以及防范可能發(fā)生的攻擊與破壞。另外,我們還將展示常用于Docker的安全策略和防護(hù)方法。
第14章DockerAPI
本章主要講解Docker中最基礎(chǔ)也最重要的與外界溝通的方式,即DockerAPI。在對DockerAPI的實(shí)現(xiàn)方式與分類進(jìn)行介紹之后,我們還將抽取最常用的用于管理Docker核心模塊的DockerRemoteAPI,以及用于與遠(yuǎn)程鏡像倉庫鏡像交互的DockerRegistryAPI進(jìn)行專門地講解和示范。
第15章管理工具
本章主要展示了DockerCompose、DockerMachine、DockerS
熊昌隆,資深架構(gòu)師,Web全棧開發(fā)者,知名博主,Beaver框架作者,開源小組Funcuter的發(fā)起者,致力于新興技術(shù)的研究和推廣。
早年參與智慧路由的研究,多項(xiàng)研究成果影響了家用路由器的發(fā)展。
設(shè)計(jì)實(shí)現(xiàn)的Beaver框架,已經(jīng)應(yīng)用于千萬級(jí)系統(tǒng)的底層程序架構(gòu)中。
發(fā)起組建的Funcuter開源小組,旨在聚集國內(nèi)的優(yōu)秀開源項(xiàng)目和開發(fā)者,目前已經(jīng)擁有多個(gè)開源項(xiàng)目。
近年來一直致力于前沿技術(shù)的研究和推廣,希望讓更多的開發(fā)者更輕松的接觸、了解*新興科技成果,并應(yīng)用于開發(fā)實(shí)踐中。
第一部分 基礎(chǔ)篇
第1章 初識(shí)Docker 1
1.1 虛擬化 2
1.1.1 虛擬化技術(shù) 2
1.1.2 虛擬化的分類 4
1.2 容器技術(shù)與Docker 6
1.2.1 容器技術(shù) 6
1.2.2 Docker簡介 8
1.2.3 改變世界的發(fā)明 10
1.3 Docker的安裝 10
1.3.1 在Ubuntu中安裝Docker 11
1.3.2 在CentOS中安裝Docker 12
1.3.3 在Windows中安裝Docker 13
1.3.4 在Mac OS中安裝Docker 15
1.3.5 在其他系統(tǒng)中安裝Docker 16
1.4 Docker的優(yōu)勢 17
1.4.1 革命性的虛擬化方案 17
1.4.2 高效的容器技術(shù) 18
1.4.3 社區(qū)的力量 19
1.5 Docker的應(yīng)用場景 20
1.5.1 超短時(shí)間部署運(yùn)行 20
1.5.2 節(jié)約遷移時(shí)間 21
1.6 本章小結(jié) 21
第2章 鏡像與倉庫 22
2.1 鏡像的概念 22
2.1.1 聯(lián)合文件系統(tǒng) 22
2.1.2 Docker中的鏡像 23
2.1.3 鏡像的分層結(jié)構(gòu) 24
2.1.4 鏡像的寫時(shí)復(fù)制 25
2.2 使用和管理鏡像 26
2.2.1 獲取鏡像 26
2.2.2 列出鏡像 28
2.2.3 獲得鏡像的詳細(xì)信息 28
2.2.4 刪除鏡像 31
2.2.5 鏡像的遷移 32
2.3 Docker Hub 33
2.3.1 鏡像倉庫 33
2.3.2 Docker Hub 34
2.3.3 注冊Docker Hub賬號(hào) 35
2.3.4 搜索鏡像 36
2.3.5 共享自動(dòng)構(gòu)建鏡像 38
2.4 搭建私有倉庫 40
2.4.1 鏡像分發(fā)服務(wù) 40
2.4.2 Docker Registry HTTP API 41
2.4.3 部署私有倉庫 42
2.5 本章小結(jié) 44
第3章 管理和使用容器 45
3.1 管理容器 45
3.1.1 創(chuàng)建容器 45
3.1.2 容器的啟動(dòng)過程 48
3.1.3 列出容器 49
3.1.4 容器的命名 51
3.1.5 啟動(dòng)和停止 52
3.1.6 暫停和恢復(fù) 53
3.1.7 重啟容器 54
3.1.8 刪除容器 55
3.2 連接到容器 55
3.2.1 查看進(jìn)程信息 56
3.2.2 查看容器信息 56
3.2.3 容器日志 62
3.2.4 銜接到容器 63
3.2.5 在容器中執(zhí)行命令 64
3.3 容器的保存與遷移 65
3.3.1 提交容器更改 65
3.3.2 容器的導(dǎo)入/導(dǎo)出 68
3.4 本章小結(jié) 70
第4章 數(shù)據(jù)卷與網(wǎng)絡(luò) 71
4.1 數(shù)據(jù)卷 71
4.1.1 關(guān)于數(shù)據(jù)卷 71
4.1.2 數(shù)據(jù)卷的特點(diǎn) 72
4.1.3 創(chuàng)建數(shù)據(jù)卷 73
4.1.4 掛載數(shù)據(jù)卷 74
4.1.5 刪除數(shù)據(jù)卷 76
4.2 數(shù)據(jù)卷容器 77
4.2.1 關(guān)于數(shù)據(jù)卷容器 77
4.2.2 創(chuàng)建數(shù)據(jù)卷容器 78
4.2.3 連接數(shù)據(jù)卷容器 79
4.2.4 數(shù)據(jù)卷的遷移 80
4.3 網(wǎng)絡(luò)基礎(chǔ) 82
4.3.1 網(wǎng)絡(luò)簡介 82
4.3.2 查看網(wǎng)絡(luò)配置 83
4.4 網(wǎng)絡(luò)訪問 85
4.4.1 宿主機(jī)端口映射 85
4.4.2 容器連接 87
4.5 本章小結(jié) 90
第5章 制作鏡像 91
5.1 了解Dockerfile 91
5.1.1 Dockerfile簡介 92
5.1.2 使用Dockerfile創(chuàng)建鏡像 94
5.2 基礎(chǔ)指令 96
5.2.1 FROM 97
5.2.2 MAINTAINER 97
5.3 控制指令 97
5.3.1 RUN 97
5.3.2 WORKDIR 99
5.3.3 ONBUILD 99
5.4 引入指令 100
5.4.1 ADD 100
5.4.2 COPY 102
5.5 執(zhí)行指令 102
5.5.1 CMD 102
5.5.2 ENTRYPOINT 104
5.6 配置指令 107
5.6.1 EXPOSE 108
5.6.2 ENV 108
5.6.3 LABEL 109
5.6.4 USER 110
5.6.5 ARG 111
5.6.6 STOPSIGNAL 112
5.6.7 SHELL 113
5.7 特殊用法 113
5.7.1 環(huán)境變量 113
5.7.2 指令解析 114
5.7.3 忽略文件 116
5.8 本章小結(jié) 117
第二部分 實(shí)踐篇
第6章 SSH服務(wù) 118
6.1 在Docker中使用SSH 118
6.1.1 SSH簡介 119
6.1.2 SSH使用方法簡介 119
6.1.3 數(shù)據(jù)卷管理容器 121
6.1.4 使用SSH服務(wù)容器 122
6.2 構(gòu)建SSH服務(wù)鏡像 124
6.2.1 構(gòu)建方式比較 124
6.2.2 通過提交構(gòu)建 125
6.2.3 使用Dockerfile構(gòu)建 127
6.3 本章小結(jié) 131
第7章 Web服務(wù)器 132
7.1 Web服務(wù)簡介 132
7.1.1 萬維網(wǎng)與網(wǎng)站 132
7.1.2 Web服務(wù) 133
7.1.3 Web服務(wù)程序 135
7.2 Apache 135
7.2.1 Apache簡介 135
7.2.2 安裝Apache 136
7.2.3 構(gòu)建Apache鏡像 139
7.2.4 測試Apache容器 142
7.3 Nginx 143
7.3.1 關(guān)于Nginx 143
7.3.2 安裝Nginx 144
7.3.3 構(gòu)建Nginx鏡像 146
7.3.4 測試Nginx鏡像 148
7.4 Tomcat 148
7.4.1 Tomcat簡介 149
7.4.2 安裝Tomcat 149
7.4.3 構(gòu)建Tomcat鏡像 152
7.5 本章小結(jié) 153
第8章 數(shù)據(jù)庫程序 155
8.1 MySQL 155
8.1.1 MySQL簡介 156
8.1.2 安裝MySQL 156
8.1.3 構(gòu)建MySQL鏡像 162
8.1.4 測試MySQL容器 164
8.2 MongoDB 166
8.2.1 MongoDB簡介 166
8.2.2 安裝MongoDB 167
8.2.3 構(gòu)建MongoDB鏡像 171
8.2.4 測試MongoDB容器 173
8.3 本章小結(jié) 176
第9章 緩存工具 177
9.1 Memcached 178
9.1.1 Memcached簡介 178
9.1.2 安裝Memcached 179
9.1.3 構(gòu)建Memcached鏡像 184
9.1.4 測試Memcached容器 186
9.2 Redis 188
9.2.1 Redis簡介 188
9.2.2 安裝Redis 188
9.2.3 構(gòu)建Redis鏡像 193
9.2.4 測試Redis容器 195
9.3 本章小結(jié) 196
第10章 動(dòng)態(tài)處理程序 197
10.1 Java 197
10.1.1 Java簡介 198
10.1.2 安裝Java 198
10.1.3 構(gòu)建Java鏡像 204
10.1.4 測試Java容器 206
10.2 PHP 207
10.2.1 PHP簡介 207
10.2.2 安裝PHP 208
10.2.3 構(gòu)建PHP鏡像 214
10.2.4 測試PHP容器 216
10.3 Python 217
10.3.1 Python簡介 217
10.3.2 安裝Python 218
10.3.3 構(gòu)建Python鏡像 223
10.3.4 測試Python容器 224
10.4 Node.js 225
10.4.1 Node.js簡介 225
10.4.2 安裝Node.js 226
10.4.3 構(gòu)建Node.js鏡像 228
10.4.4 測試Node.js容器 230
10.5 本章小結(jié) 231
第11章 綜合演練 232
11.1 演練目標(biāo) 232
11.1.1 目標(biāo)概述 232
11.1.2 代碼編寫 233
11.2 環(huán)境搭建 237
11.2.1 準(zhǔn)備鏡像 237
11.2.2 程序配置 239
11.3 項(xiàng)目運(yùn)行 248
11.3.1 啟動(dòng)容器 248
11.3.2 測試項(xiàng)目 249
11.4 本章小結(jié) 253
第三部分 提高篇
第12章 網(wǎng)絡(luò)進(jìn)階 254
12.1 網(wǎng)絡(luò)實(shí)現(xiàn) 254
12.1.1 容器網(wǎng)絡(luò)基礎(chǔ) 255
12.1.2 網(wǎng)絡(luò)模型 257
12.2 Docker中的網(wǎng)絡(luò) 258
12.2.1 默認(rèn)網(wǎng)絡(luò) 258
12.2.2 自定義網(wǎng)絡(luò) 261
12.2.3 容器與外部通信 262
12.2.4 容器間通信 264
12.3 網(wǎng)絡(luò)實(shí)踐 265
12.3.1 管理容器網(wǎng)絡(luò) 265
12.3.2 容器連接網(wǎng)絡(luò) 267
12.3.3 配置docker0網(wǎng)橋 269
12.3.4 自定義網(wǎng)橋 271
12.3.5 配置DNS 271
12.3.6 使用IPv6 273
12.4 本章小結(jié) 274
第13章 安全加固 275
13.1 深入理解Docker安全 275
13.1.1 命名空間隔離 276
13.1.2 資源控制組 277
13.1.3 內(nèi)核能力機(jī)制 277
13.2 資源使用限制 278
13.2.1 通過控制組限制 278
13.2.2 通過ulimit限制 280
13.2.3 網(wǎng)絡(luò)訪問限制 280
13.3 校驗(yàn)與監(jiān)控 281
13.3.1 鏡像簽名 281
13.3.2 運(yùn)行狀態(tài)監(jiān)控 283
13.4 聯(lián)級(jí)防護(hù) 284
13.4.1 組合虛擬化 284
13.4.2 文件系統(tǒng)安全 284
13.5 內(nèi)核安全技術(shù) 285
13.5.1 Capability 286
13.5.2 SELinux 287
13.5.3 AppArmor 288
13.6 本章小結(jié) 289
第14章 Docker API 290
14.1 關(guān)于Docker API 290
14.1.1 通用操作接口 290
14.1.2 關(guān)于RESTful 291
14.1.3 Docker API的優(yōu)勢 292
14.1.4 Docker API的分類 293
14.2 使用Docker Remote API 293
14.2.1 關(guān)于Docker Remote API 294
14.2.2 Docker Remote API的版本 299
14.2.3 通過Remote API列出容器 300
14.2.4 通過Remote API列出鏡像 302
14.3 使用Docker Registry API 303
14.3.1 關(guān)于Docker Registry API 304
14.3.2 Docker Registry API的主要功能 304
14.3.3 Docker Registry API的版本 305
14.3.4 通過Registry API拉取鏡像 306
14.3.5 通過Registry API推送鏡像 307
14.4 本章小結(jié) 309
第15章 管理工具 310
15.1 Docker Compose 310
15.1.1 Docker Compose簡介 311
15.1.2 安裝Docker Compose 313
15.1.3 Docker Compose配置文件 314
15.1.4 常用的Docker Compose命令 315
15.2 Docker Machine 318
15.2.1 Docker Machine簡介 318
15.2.2 安裝Docker Machine 320
15.2.3 Docker Machine常見命令 321
15.3 Docker Swarm 322
15.3.1 Docker Swarm簡介 322
15.3.2 Docker Swarm結(jié)構(gòu) 323
15.3.3 使用Docker Swarm 323
15.3.4 Docker Swarm常見命令 325
15.4 本章小結(jié) 327
第16章 Docker的技術(shù)架構(gòu) 328
16.1 命名空間 328
16.1.1 關(guān)于Linux命名空間 328
16.1.2 命名空間的系統(tǒng)調(diào)用 329
16.1.3 命名空間的分類 330
16.2 控制組 332
16.2.1 關(guān)于Linux控制組 332
16.2.2 Cgroups的組成 333
16.2.3 容器與控制組 334
16.3 聯(lián)合文件系統(tǒng) 336
16.3.1 關(guān)于UFS 336
16.3.2 Docker中的UFS 337
16.4 Docker Engine架構(gòu) 338
16.4.1 Docker Engine的組成結(jié)構(gòu) 338
16.4.2 Docker Daemon 339
16.4.3 Docker CLI 342
16.5 本章小結(jié) 344
你還可能感興趣
我要評論
|