本書是云計算技術(shù)與應(yīng)用專業(yè)校企合作系列教材.本書從Docker的基本使用入手,深入淺出的講解了Docker的構(gòu)建、操作、技術(shù)原理和實際使用過程中的典型項目和案例,內(nèi)容較全面,分為7個單元,前兩個單元為Docker容器的安裝,Docker容器的使用和管理,介紹了容器構(gòu)建和使用基礎(chǔ);第3、4、5單元為Docker倉庫Registry,Docker網(wǎng)絡(luò)、存儲和接口,Docker容器編排與集群,介紹了容器的高級功能;第6、7單元為容器服務(wù)管理平臺Rancher和使用Docker構(gòu)建持續(xù)集成,以案例和項目的形成,展現(xiàn)給學(xué)習(xí)者真實的應(yīng)用場景。
一、緣起
Docker最初是DotCloud公司創(chuàng)始人Solomon Hykes在法國期間發(fā)起的一個公司內(nèi)部項目。它是基于DotCloud公司多年的云服務(wù)技術(shù)的一次革新,并于2013年3月以Apache 2.0授權(quán)協(xié)議開源,主要項目代碼在GitHub上進行維護。Docker項目后來還加入了Linux基金會,并成立推動開放容器聯(lián)盟。
Docker使用Google公司推出的Go語言進行開發(fā)實現(xiàn),基于IAnux內(nèi)核的Cgroups、NameSpace及AIJFS類的Llnion Fs等技術(shù)對進程進行封裝隔離,屬于操作系統(tǒng)層面的虛擬化技術(shù)。由于隔離的進程獨立于宿主和其他隔離的進程,因此也稱其為容器。最初實現(xiàn)是基于LXC的,從Docker0.7以后開始去除LXC,轉(zhuǎn)而使用自行開發(fā)的ibcontainer,從Docker 1.11開始,則進一步演進為使用RunC和lContainerd。
學(xué)習(xí)Docker的源碼并不是一個枯燥的過程,讀者可以從中理解Docker架構(gòu)的設(shè)計原理。Docker對使用者來講是一個C/S模式的架構(gòu),Docker的后端是一個非常松耦合的架構(gòu)。模塊各司其職,并有機組合,支撐Docker的運行。Docker的框架包括Docker后臺進程Doemon、存儲數(shù)據(jù)卷、網(wǎng)絡(luò)、鏡像倉庫、鏡像、容器實例和控制臺等。二、結(jié)構(gòu)
本書教學(xué)內(nèi)容采用模塊化的編寫思路,將Docker容器、容器服務(wù)平臺Rancher、持續(xù)集成DevOps三方面的學(xué)習(xí)內(nèi)容分為了Docker容器的安裝Docker的使用和管理,Docker倉庫Registry,Docker網(wǎng)絡(luò)、存儲和接口,Docker容器編排與集群、容器服務(wù)管理平臺Rancher,使用Docker構(gòu)建持續(xù)集成7個教學(xué)單元和20個教學(xué)任務(wù)。
每個單元通過學(xué)習(xí)目標引出單元的教學(xué)核心內(nèi)容,明確教學(xué)任務(wù)。每個任務(wù)的編寫分為任務(wù)描述、知識學(xué)習(xí)、任務(wù)實施、項目實訓(xùn)4個環(huán)節(jié)。
·任務(wù)描述:簡述任務(wù)目標,展示任務(wù)實施效果,提高學(xué)生學(xué)習(xí)興趣。
·知識學(xué)習(xí):詳細講解知識點,通過系列實例實踐,邊學(xué)邊做。
·任務(wù)實施:通過任務(wù)綜合應(yīng)用所學(xué)知識,提高學(xué)生系統(tǒng)地運用知識的能力。
·項目實訓(xùn):在任務(wù)實施的基礎(chǔ)上通過“學(xué)、仿、做”達到理論與實踐的統(tǒng)一、知識內(nèi)化的教學(xué)目的。
最后進行單元小結(jié),總結(jié)本單元的教學(xué)重點、難點。
三、特點
l_針對性強,內(nèi)容選取以實用為主
本書以云計算技術(shù)專業(yè)學(xué)生的就業(yè)崗位群為導(dǎo)向,整個課程分為兩大部分:知識學(xué)習(xí)和技術(shù)應(yīng)用。知識學(xué)習(xí)以Docket概述、容器技術(shù)的基本概念、容器管理平臺Rancher的簡介等基本知識為主,培養(yǎng)學(xué)生具有較為系統(tǒng)的Docker容器技術(shù)基本技能;技術(shù)應(yīng)用以容器的基本使用、管理平臺的運維、持續(xù)集成的構(gòu)建為主,內(nèi)容設(shè)計比較豐富,便于學(xué)生理解和掌握。
2.精心設(shè)計,教學(xué)內(nèi)容與數(shù)字化資源有機結(jié)合
本書以教學(xué)內(nèi)容為主線將各項數(shù)字化資源有機結(jié)合在一起,形成完整的數(shù)字課程。
數(shù)字化資源包括3個方面的內(nèi)容:第一、課程本身的基本信息,包括課程簡介、學(xué)習(xí)指南、課程標準、整體設(shè)計、單元設(shè)計等;第二、教學(xué)內(nèi)容中重難點的微課視頻教學(xué)資源,既方便課內(nèi)教學(xué),又方便學(xué)生課外預(yù)習(xí)和復(fù)習(xí);第三、課程項目實訓(xùn),這包括課程的重難點剖析,循序漸進的綜合項目開發(fā)案例、實訓(xùn)任務(wù)單等。
本書內(nèi)容滿足課堂教學(xué)的需要,而數(shù)字化資源為學(xué)生課外自主探究學(xué)習(xí)提供了一個良好的平臺,課堂教學(xué)與智慧職教平臺結(jié)合,提高了教學(xué)效果。
單元1 DOCker容器的安裝
學(xué)習(xí)目標
學(xué)習(xí)情境
任務(wù)1.1 容器技術(shù)的調(diào)研
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)1.2 Docker的安裝
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
單元小結(jié)
單元2 Dcoker的使用和管理
學(xué)習(xí)目標
學(xué)習(xí)情境
任務(wù)2.1 Docker鏡像管理
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)2.2 Docker鏡像定制
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)2.3 Docker容器管理
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
單元小結(jié)
單元3 Docker倉庫Registry
學(xué)習(xí)目標
學(xué)習(xí)情境
任務(wù)3.1 Docker倉庫與加速的配置和使用
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)3.2 Docker私有倉庫與管理
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
單元小結(jié)
單元4 Docker網(wǎng)絡(luò)、存儲和接口
學(xué)習(xí)目標
學(xué)習(xí)情境
任務(wù)4.1 Docker存儲
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)4.2 Docker網(wǎng)絡(luò)
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)4.3 Docker APL的使用
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)4.4 Docker底層技術(shù)應(yīng)用
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
單元小結(jié)
單元5 Docker 容器編排與集群
學(xué)習(xí)目標
學(xué)習(xí)情境
任務(wù)5.1 Docker-compose容器編排的使用
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)5.2 Docker Swarm集群的配置與管理。
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)5.3 Docker Corlsul構(gòu)建集群服務(wù)
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
單元小結(jié)
單元6 容器服務(wù)管理平臺Racher
學(xué)習(xí)目標
學(xué)習(xí)情境
任務(wù)6.1 Rarcher安裝、部署、使用
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)6.2 基于Rancher構(gòu)建持續(xù)集成
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
單元小結(jié)
單元7 使用Docker構(gòu)建持續(xù)集成
學(xué)習(xí)目標
學(xué)習(xí)情境
任務(wù)7.1 構(gòu)建NginxWeb應(yīng)用
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)7.2 持續(xù)集成管理軟件Jenkins應(yīng)用
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)7.3 構(gòu)建Java Web應(yīng)用
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
任務(wù)7.4 構(gòu)建Docker負載均衡
任務(wù)描述
知識學(xué)習(xí)
任務(wù)實施
項目實訓(xùn)
單元小結(jié)
參考文獻