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