Do cker容器技術(shù)配置、部署與應(yīng)用-教學(xué)教案_第1頁
Do cker容器技術(shù)配置、部署與應(yīng)用-教學(xué)教案_第2頁
Do cker容器技術(shù)配置、部署與應(yīng)用-教學(xué)教案_第3頁
Do cker容器技術(shù)配置、部署與應(yīng)用-教學(xué)教案_第4頁
Do cker容器技術(shù)配置、部署與應(yīng)用-教學(xué)教案_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《Docker容器技術(shù)配置、部署與應(yīng)用》配套教學(xué)教案第1單元課時(shí)內(nèi)容Docker安裝授課時(shí)間180分鐘課時(shí)4教學(xué)目標(biāo)了解Docker的概念、架構(gòu)和特性了解Docker版本,掌握Docker的安裝方法了解Docker命令行,掌握docker命令的基本用法教學(xué)重點(diǎn)容器與虛擬機(jī)的區(qū)別Docker架構(gòu)DockerCE的安裝docker命令的基本用法教學(xué)難點(diǎn)Docker引擎Docker與DevOps安裝Docker之后的配置教學(xué)設(shè)計(jì)教學(xué)思路:(1)講解Docker的背景知識(shí),比較容器與虛擬機(jī),介紹Docker引擎,解析Docker架構(gòu),列舉Docker所用的底層技術(shù);(2)講解Docker的優(yōu)勢(shì),比較傳統(tǒng)開發(fā)流程與容器化開發(fā)流程;(3)列舉Docker主要用例,介紹國(guó)內(nèi)Docker應(yīng)用狀況;(4)講解Docker版本,示范在CentOS操作系統(tǒng)上安裝DockerCE,并進(jìn)行安裝之后的初步配置;(5)講解docker命令的基本用法,示范通過命令運(yùn)行一個(gè)簡(jiǎn)單的ubuntu容器。教學(xué)手段:(1)通過PPT演示講解基礎(chǔ)知識(shí);(2)對(duì)于實(shí)驗(yàn)操作,上機(jī)操作進(jìn)行示范講;(3)通過項(xiàng)目實(shí)訓(xùn)練習(xí)鞏固所學(xué)知識(shí)。教學(xué)資料及要求:補(bǔ)充講解Docker的最新發(fā)展和應(yīng)用,加深學(xué)生的知識(shí)面。教學(xué)內(nèi)容討論問題:1、為什么要學(xué)習(xí)Docker?2、初學(xué)者如何學(xué)好Docker??jī)?nèi)容大綱:具體可結(jié)合本單元的PPT課件講解。任務(wù)一認(rèn)識(shí)Docker任務(wù)要求 了解什么是Docker,了解Docker的概念、架構(gòu)、特性和應(yīng)用場(chǎng)合。任務(wù)實(shí)現(xiàn) (一)理解Docker的概念。(二)了解容器與虛擬機(jī)的區(qū)別。(三)了解Docker引擎、架構(gòu)與底層技術(shù)。(四)了解Docker的優(yōu)勢(shì)(五)了解Docker與DevOps的關(guān)系(六)了解Docker用例(七)調(diào)查國(guó)內(nèi)的Docker應(yīng)用現(xiàn)狀任務(wù)二掌握Docker的安裝任務(wù)要求 (一)了解Docker版本和Docker安裝方式。(二)掌握DockerCE的安裝、升級(jí)和卸載方法。任務(wù)實(shí)現(xiàn) (一)了解Docker的版本和DockerCE的發(fā)布版本(二)了解DockerCE所支持的操作系統(tǒng)(三)了解Docker安裝方式(四)準(zhǔn)備安裝環(huán)境(五)熟悉DockerCE的安裝過程(六)掌握安裝Docker之后的配置任務(wù)三Docker命令行使用任務(wù)要求 掌握Docker命令行使用的基本方法。任務(wù)實(shí)現(xiàn) (一)了解Docker命令行接口類型(二)了解docker命令的基本用法(三)執(zhí)行命令運(yùn)行容器課后練習(xí)小結(jié)重點(diǎn)明確Docker的概念,弄清容器與虛擬機(jī)的區(qū)別。理解Docker的架構(gòu)。了解Docker的優(yōu)勢(shì)和應(yīng)用領(lǐng)域。學(xué)會(huì)Docker的安裝。初步掌握docker命令的用法。思考及作業(yè)想一想:1.什么是Docker?2.容器與虛擬機(jī)有什么不同?3.Docker引擎包括哪些組件?4.Docker采用什么樣的架構(gòu)?5.Docker使用了哪些底層技術(shù)?6.Docker命令行接口有哪些類型?做一做:1.安裝DockerCE。2.使用docker命令運(yùn)行一個(gè)centos容器并嘗試與該容器交互。

課時(shí)內(nèi)容Docker快速入門授課時(shí)間270分鐘課時(shí)6教學(xué)目標(biāo)掌握Docker鏡像的基礎(chǔ)知識(shí),學(xué)會(huì)鏡像的操作方法熟悉容器技術(shù),掌握容器的操作方法掌握Docker倉庫操作方法,學(xué)會(huì)鏡像倉庫管理了解Dockerfile指令,學(xué)會(huì)使用Dockerfile構(gòu)建鏡像理解Dockerfile、鏡像、容器和倉庫之間的關(guān)系教學(xué)重點(diǎn)鏡像和容器的基本信息鏡像基本操作容器基本操作DockerHub及其使用Dockerfile主要指令基于Dockerfile構(gòu)建鏡像教學(xué)難點(diǎn)鏡像分層結(jié)構(gòu)寫時(shí)復(fù)制進(jìn)入容器注冊(cè)中心與鏡像倉庫的區(qū)別Dockerfile指令的exec和shell格式RUN、CMD和ENTRYPOINT指令的區(qū)別和聯(lián)系教學(xué)設(shè)計(jì)1、教學(xué)思路:(1)首先講解Docker鏡像的使用與操作,引導(dǎo)學(xué)生理解鏡像的概念和鏡像的分層結(jié)構(gòu),重點(diǎn)講解鏡像的基本操作。(2)講解Docker容器的使用與操作,引導(dǎo)學(xué)生理解容器的概念和容器層,解析寫時(shí)復(fù)制策略,重點(diǎn)示范容器的基本操作,并進(jìn)入容器內(nèi)部執(zhí)行操作任務(wù)。(3)講解Docker注冊(cè)中心的使用與操作,引導(dǎo)學(xué)生弄清注冊(cè)中心與鏡像倉庫的區(qū)別,熟悉DockerHub的使用,了解第三方Docker注冊(cè)中心的使用,并示范建立和使用自己的Docker注冊(cè)中心。(4)講解如何構(gòu)建自己的鏡像,介紹構(gòu)建鏡像的兩種方法,重點(diǎn)講解Dockerfile構(gòu)建鏡像的基本用法和主要的Dockerfile指令,并示范使用dockerbuild命令基于Dockerfile構(gòu)建鏡像。2、教學(xué)手段:(1)通過PPT將本課時(shí)的知識(shí)大綱進(jìn)行講解;(2)對(duì)于實(shí)驗(yàn)操作通過上機(jī)交互操作進(jìn)行演示講解;(3)指導(dǎo)學(xué)生課后進(jìn)行項(xiàng)目實(shí)訓(xùn)。3、教學(xué)資料及要求:除了教材的介紹,還可增補(bǔ)其他內(nèi)容,如介紹使用Harbor軟件建立企業(yè)級(jí)的私有Docker注冊(cè)中心。教學(xué)內(nèi)容知識(shí)回顧:通過前面的學(xué)習(xí),讀者應(yīng)當(dāng)明確了Docker的概念,弄清容器與虛擬機(jī)的區(qū)別,理解Docker的架構(gòu),了解Docker的優(yōu)勢(shì)和應(yīng)用領(lǐng)域,學(xué)會(huì)了Docker的安裝,并初步掌握了docker命令的用法。本單元將引導(dǎo)讀者進(jìn)一步理解鏡像、容器和倉庫的概念,熟悉Docker應(yīng)用程序全生命周期的基本操作,進(jìn)而掌握Docker的基本應(yīng)用,為后續(xù)的Docker配置和管理打下基礎(chǔ)。討論問題:1、鏡像與容器之間有什么關(guān)系?2、如何制作自己的鏡像?3、如何從軟件開發(fā)與運(yùn)維的角度理解Dockerfile、鏡像與容器之間的關(guān)系??jī)?nèi)容大綱:具體可結(jié)合本單元的PPT課件進(jìn)行講解。任務(wù)一Docker鏡像的使用與操作任務(wù)要求 了解鏡像的基礎(chǔ)知識(shí),掌握鏡像的使用與操作。任務(wù)實(shí)現(xiàn) (一)了解鏡像的概念(二)了解鏡像的基本信息和鏡像描述文件Dockerfile(三)理解基礎(chǔ)鏡像(四)理解鏡像分層結(jié)構(gòu)并進(jìn)行驗(yàn)證(五)熟悉Docker鏡像的基本操作(六)掌握在離線環(huán)境中導(dǎo)入鏡像的方法任務(wù)二Docker容器的使用與操作任務(wù)要求 了解容器的基礎(chǔ)知識(shí),掌握容器使用和管理的基本操作。任務(wù)實(shí)現(xiàn) (一)了解容器的概念(二)了解容器的基本信息和鏡像描述文件Dockerfile(三)理解可寫的容器層(四)理解寫時(shí)復(fù)制策略(五)掌握創(chuàng)建、啟動(dòng)、停止、刪除、暫停等容器生命周期管理操作(六)掌握列表、查看、連接等容器運(yùn)維操作管理操作任務(wù)三Docker注冊(cè)中心的使用與操作任務(wù)要求 掌握官方的DockerHub、第三方注冊(cè)中心,以及自建Docker注冊(cè)中心的使用。任務(wù)實(shí)現(xiàn) (一)弄清Docker注冊(cè)中心與倉庫的概念(二)了解DockerHub及其官方倉庫(三)掌握DockerHub的使用(四)了解鏡像加速器并掌握其配置方法(五)使用阿里云的Docker鏡像倉庫(六)自建Docker注冊(cè)中心任務(wù)四構(gòu)建鏡像任務(wù)要求 了解構(gòu)建鏡像的兩種方法,重點(diǎn)掌握基于Dockerfile構(gòu)建鏡像的方法。任務(wù)實(shí)現(xiàn) (一)了解基于容器生成鏡像并掌握其用法(二)掌握Dockerfile構(gòu)建的基本用法(三)熟悉Dockerfile主要指令,能夠編寫Dockerfile(四)使用dockerbuild命令基于Dockerfile構(gòu)建鏡像(五)了解構(gòu)建緩存并進(jìn)行測(cè)試課后練習(xí) 小結(jié)掌握Docker鏡像和容器的基礎(chǔ)知識(shí),學(xué)會(huì)鏡像和容器的操作方法;學(xué)會(huì)鏡像倉庫管理;學(xué)會(huì)使用Dockerfile構(gòu)建鏡像。思考及作業(yè)想一想:1.什么是鏡像?2.Docker使用哪幾種方式來標(biāo)識(shí)鏡像?3.鏡像描述文件有什么用?4.什么是基礎(chǔ)鏡像?5.鏡像采用什么樣的結(jié)構(gòu)?6.什么是容器?7.Docker使用哪幾種方式來標(biāo)識(shí)容器?8.什么是容器層?它有什么特點(diǎn)?9.寫時(shí)復(fù)制有什么作用?10.為什么dockerrun命令非常重要?11.Docker注冊(cè)中心與倉庫有什么不同?12.DockerHub有哪些功能?13.Docker構(gòu)建鏡像有哪幾種方法?14.COPY指令應(yīng)遵守哪些復(fù)制規(guī)則?15.RUN、CMD和ENTRYPOINT指令有何不同?做一做:1.Ubuntu鏡像操作。2.ApacheWeb容器操作。3.使用阿里云鏡像服務(wù)。4.構(gòu)建在Ubuntu系統(tǒng)上運(yùn)行Nginx的鏡像。課時(shí)內(nèi)容Docker網(wǎng)絡(luò)與存儲(chǔ)配置授課時(shí)間270分鐘課時(shí)6教學(xué)目標(biāo)掌握Docker網(wǎng)絡(luò)基礎(chǔ)知識(shí),學(xué)會(huì)容器網(wǎng)絡(luò)連接配置掌握容器與外部網(wǎng)絡(luò)之間的網(wǎng)絡(luò)通信方法區(qū)分容器本地存儲(chǔ)與外部存儲(chǔ),了解Docker存儲(chǔ)驅(qū)動(dòng)掌握容器的卷掛載方法,熟悉綁定掛載的操作教學(xué)重點(diǎn)容器的網(wǎng)絡(luò)模式橋接網(wǎng)絡(luò)配置容器端口映射卷掛載綁定掛載教學(xué)難點(diǎn)Docker網(wǎng)絡(luò)驅(qū)動(dòng)容器與外部網(wǎng)絡(luò)之間的通信容器的外部存儲(chǔ)與本地存儲(chǔ)容器填充卷教學(xué)設(shè)計(jì)教學(xué)思路:(1)講解Docker網(wǎng)絡(luò)配置與管理,重點(diǎn)講解容器的網(wǎng)絡(luò)模式,介紹容器之間的網(wǎng)絡(luò)通信和容器與外部的網(wǎng)絡(luò)通信解決方案,簡(jiǎn)單介紹傳統(tǒng)容器連接,比較用戶自定義橋接網(wǎng)絡(luò)和默認(rèn)橋接網(wǎng)絡(luò),示范橋接網(wǎng)絡(luò)的使用方法,示范容器端口映射的配置方法。(2)講解Docker存儲(chǔ)配置與管理,分析容器本地存儲(chǔ)與外部存儲(chǔ)的差別,講解容器的掛載類型,示范卷的創(chuàng)建和管理,以及容器掛載卷的操作方法,示范容器綁定掛載的操作。注意重點(diǎn)是卷掛載和綁定掛載。教學(xué)手段:(1)通過PPT演示講解基礎(chǔ)知識(shí);(2)上機(jī)操作示范,或者使用微課視頻輔助講解;(3)指導(dǎo)學(xué)生課后進(jìn)行項(xiàng)目實(shí)訓(xùn)。教學(xué)資料及要求:除教材中的示例外,可根據(jù)情況增加網(wǎng)絡(luò)配置和存儲(chǔ)配置的操作示范講解。教學(xué)內(nèi)容知識(shí)回顧:上一單元的內(nèi)容是關(guān)于Docker的基本使用,講解了鏡像、容器、倉庫的概念和使用操作方法,并示范如何構(gòu)建自己的鏡像,讓學(xué)生快速入門。本單元進(jìn)一步拓展容器的配置,為容器增加網(wǎng)絡(luò)和存儲(chǔ)這兩種重要資源,讓學(xué)生掌握容器的網(wǎng)絡(luò)連接和外部存儲(chǔ)的使用與操作方法。討論問題:1、容器為什么要使用Docker網(wǎng)絡(luò)?2、容器為什么要使用外部存儲(chǔ)??jī)?nèi)容大綱:具體可結(jié)合本單元的PPT課件進(jìn)行講解。任務(wù)一Docker網(wǎng)絡(luò)配置與管理任務(wù)要求(1)了解Docker網(wǎng)絡(luò)驅(qū)動(dòng)和容器的網(wǎng)絡(luò)模式配置。(2)掌握Docker網(wǎng)絡(luò)配置方法,解決容器的聯(lián)網(wǎng)和通信問題。任務(wù)實(shí)現(xiàn) (一)了解單主機(jī)與多主機(jī)的Docker網(wǎng)絡(luò)(二)了解Docker網(wǎng)絡(luò)驅(qū)動(dòng)(三)理解容器的網(wǎng)絡(luò)模式(四)了解容器之間的通信方案(五)了解容器與外部的網(wǎng)絡(luò)通信(六)掌握容器的網(wǎng)絡(luò)配置基本用法(七)了解傳統(tǒng)的容器連接并掌握其配置方法(八)掌握橋接網(wǎng)絡(luò)的使用方法(九)掌握容器端口映射的配置方法任務(wù)二Docker存儲(chǔ)配置與管理任務(wù)要求 (1)了解卷和綁定掛載存儲(chǔ)方案。(2)掌握容器存儲(chǔ)的配置與管理操作方法。任務(wù)實(shí)現(xiàn) (一)了解容器本地存儲(chǔ)與外部存儲(chǔ)的差別。(二)了解容器的掛載類型。(三)熟悉卷的創(chuàng)建和管理操作。(四)掌握容器掛載卷的操作方法。(五)熟悉容器綁定掛載的操作。(六)掌握數(shù)據(jù)卷的備份、恢復(fù)和遷移。 課后練習(xí)小結(jié)掌握Docker網(wǎng)絡(luò)的配置方法,能夠通過網(wǎng)絡(luò)配置讓容器與其他容器和外部網(wǎng)絡(luò)進(jìn)行通信;掌握Docker存儲(chǔ)的配置方法,能夠通過掛載外部存儲(chǔ)實(shí)現(xiàn)容器數(shù)據(jù)的持久存儲(chǔ)。思考及作業(yè)想一想:1.Docker網(wǎng)絡(luò)驅(qū)動(dòng)主要有哪幾種?2.選擇Docker網(wǎng)絡(luò)驅(qū)動(dòng)應(yīng)遵守哪些原則?3.Docker的容器支持哪幾種網(wǎng)絡(luò)模式?4.用戶自定義橋接網(wǎng)絡(luò)和默認(rèn)橋接網(wǎng)絡(luò)有哪些不同?5.為什么生產(chǎn)環(huán)境不建議使用默認(rèn)橋接網(wǎng)絡(luò)?6.容器之間有哪些通信解決方案?7.如何能讓容器能夠被外部網(wǎng)絡(luò)訪問?8.Docker存儲(chǔ)驅(qū)動(dòng)主要有哪幾種?9.Docker存儲(chǔ)有哪幾種掛載類型?各自適合哪些應(yīng)用場(chǎng)合?10.什么是匿名卷?11.什么情形下容器會(huì)填充卷?12.什么情形下容器掛載目錄中的數(shù)據(jù)會(huì)被遮蓋?做一做:1.創(chuàng)建和使用用戶自定義橋接網(wǎng)絡(luò)。2.Docker卷的使用。3.綁定掛載的使用。4.測(cè)試容器填充卷。課時(shí)內(nèi)容Docker容器與守護(hù)進(jìn)程運(yùn)維授課時(shí)間270分鐘課時(shí)6教學(xué)目標(biāo)了解容器的高級(jí)配置,掌握相應(yīng)的配置方法了解容器資源控制技術(shù),學(xué)會(huì)限制容器使用資源的操作了解容器監(jiān)控知識(shí),掌握容器監(jiān)控的實(shí)施方法了解容器日志知識(shí),掌握日志查看和配置方法了解Docker對(duì)象,掌握通用的配置與管理方法掌握Docker守護(hù)進(jìn)程的配置與管理方法教學(xué)重點(diǎn)容器的自動(dòng)重啟容器的持續(xù)運(yùn)行限制容器的資源使用使用第三方工具監(jiān)控容器配置日志驅(qū)動(dòng)教學(xué)難點(diǎn)單容器中運(yùn)行多服務(wù)使用Logspout收集所有容器的日志解決daemon.json文件和啟動(dòng)腳本之間的沖突排查Docker守護(hù)進(jìn)程故障教學(xué)設(shè)計(jì)1、教學(xué)思路:(1)講解容器的高級(jí)配置功能,具體包括容器的自動(dòng)重啟配置、Docker的實(shí)時(shí)恢復(fù)功能、單容器運(yùn)行多服務(wù)、容器健康檢查機(jī)制,以及容器運(yùn)行時(shí)如何覆蓋鏡像的默認(rèn)設(shè)置。(2)講解針對(duì)生產(chǎn)環(huán)境的容器的資源使用,重點(diǎn)是CPU、內(nèi)存和磁盤I/O資源的限制配置,并介紹如何動(dòng)態(tài)更改容器的資源限制。(3)講解容器監(jiān)控與日志管理,涉及容器監(jiān)控工具及其使用方法、容器日志工具及其使用方法。除了Docker自帶的監(jiān)控工具和日志工具外,還要講解并示范第三方監(jiān)控和日志工具的使用。(4)使用Docker的主要工作是創(chuàng)建和使用各類對(duì)象,如鏡像、容器、網(wǎng)絡(luò)、卷、插件等,簡(jiǎn)單介紹Docker對(duì)象的通用配置。(5)Docker守護(hù)進(jìn)程是Docker中的后臺(tái)應(yīng)用程序,本單元最后講解該守護(hù)進(jìn)程本身的運(yùn)維和管理,涉及Docker守護(hù)進(jìn)程的啟動(dòng)方式和配置方式,以及如何排查Docker守護(hù)進(jìn)程故障。2、教學(xué)手段:(1)通過演示講解基礎(chǔ)知識(shí),講解結(jié)束后進(jìn)行相關(guān)的課后練習(xí);(2)對(duì)于重點(diǎn)操作可以著重上機(jī)演示,或通過微課視頻輔助,并加強(qiáng)舉例說明。3、教學(xué)資料及要求:除教材中的內(nèi)容外,可增加更多的操作示范。教學(xué)內(nèi)容知識(shí)回顧:通過上一單元的學(xué)習(xí),學(xué)生應(yīng)當(dāng)掌握了Docker網(wǎng)絡(luò)和存儲(chǔ)的使用方法,能夠使容器變得更實(shí)用、具備更強(qiáng)大的功能,也能通過網(wǎng)絡(luò)配置讓容器與其他容器和外部網(wǎng)絡(luò)進(jìn)行通信,還能通過掛載外部存儲(chǔ)實(shí)現(xiàn)容器數(shù)據(jù)的持久存儲(chǔ)。本單元針對(duì)容器正式的部署環(huán)境需求,講解Docker容器與守護(hù)進(jìn)程運(yùn)維和管理。討論問題:1、為什么要限制容器的資源使用?2、為什么要監(jiān)控容器?3、為什么要對(duì)Docker守護(hù)進(jìn)程本身進(jìn)行配置管理??jī)?nèi)容大綱:具體可結(jié)合本單元的PPT課件進(jìn)行講解。任務(wù)一Docker容器配置進(jìn)階任務(wù)要求了解容器的高級(jí)配置,掌握容器的高級(jí)配置方法。任務(wù)實(shí)現(xiàn) (一)掌握容器的自動(dòng)重啟配置。(二)了解Docker的實(shí)時(shí)恢復(fù)功能,通過配置讓容器保持持續(xù)運(yùn)行。(三)配置一個(gè)容器中運(yùn)行多個(gè)服務(wù),以使用supervisord管理PHP和Nginx服務(wù)為例。(四)了解容器健康檢查機(jī)制并進(jìn)行測(cè)試。(五)了解容器運(yùn)行時(shí)如何覆蓋鏡像的默認(rèn)設(shè)置。任務(wù)二限制容器的資源使用任務(wù)要求 了解容器資源控制技術(shù),掌握限制容器使用資源的操作方法。任務(wù)實(shí)現(xiàn) (一)理解容器資源限制的實(shí)現(xiàn)機(jī)制。(二)熟悉容器的內(nèi)存限制操作。(三)熟悉容器的CPU限制操作。(四)熟悉容器的I/O資源限制操作。(五)掌握容器配置的動(dòng)態(tài)更改方法。任務(wù)三容器監(jiān)控與日志管理任務(wù)要求 (1)熟悉容器監(jiān)控工具及其使用方法。(2)熟悉容器日志工具及其使用方法。任務(wù)實(shí)現(xiàn) (一)了解Docker監(jiān)控工具。(二)了解容器日志工具dockerlog并掌握其用法。(三)了解第三方日志工具。(四)了解容器日志驅(qū)動(dòng)并掌握其配置方法。(五)學(xué)會(huì)使用cAdvisor監(jiān)控容器。(六)學(xué)會(huì)使用WeaveScope監(jiān)控容器。(七)學(xué)會(huì)將容器的日志重定向到Linux日志系統(tǒng)。(八)學(xué)會(huì)使用Logspout收集所有容器的日志。任務(wù)四配置Docker對(duì)象任務(wù)要求 了解Docker對(duì)象,掌握Docker對(duì)象通用的配置與管理方法。任務(wù)實(shí)現(xiàn) (一)了解Docker對(duì)象的標(biāo)記,掌握Docker對(duì)象的標(biāo)記管理。(二)學(xué)會(huì)刪除所有不用的Docker對(duì)象。(三)了解格式化命令和日志的輸出。任務(wù)五配置和管理Docker守護(hù)進(jìn)程任務(wù)要求 掌握Docker守護(hù)進(jìn)程本身的配置和管理。任務(wù)實(shí)現(xiàn) (一)了解Docker守護(hù)進(jìn)程的啟動(dòng)方式。(二)了解Docker守護(hù)進(jìn)程的配置方式。(三)解決daemon.json文件和啟動(dòng)腳本之間的沖突。(四)排查Docker守護(hù)進(jìn)程故障。(五)自定義Docker守護(hù)進(jìn)程選項(xiàng)。(六)為Docker守護(hù)進(jìn)程配置HTTP/HTTPS代理。課后練習(xí) 小結(jié)掌握Docker容器與守護(hù)進(jìn)程的運(yùn)維管理。重點(diǎn)掌握容器的持續(xù)運(yùn)行、容器運(yùn)行資源控制、容器監(jiān)控與日志管理,以及Docker守護(hù)進(jìn)程本身的管理和Docker對(duì)象的通用配置。思考及作業(yè)想一想:1.容器自動(dòng)重啟有哪幾種策略?2.如何在Docker停止時(shí)讓容器繼續(xù)保持運(yùn)行?3.可以限制容器使用哪幾種資源?4.為什么要監(jiān)控容器?容器的日志管理為什么重要?5.Docker對(duì)象的標(biāo)記是指什么?6.如何一次性清理多種類型的對(duì)象?7.Docker守護(hù)進(jìn)程的配置有哪兩種方式?如何避免配置沖突?8.如何解決daemon.json文件和啟動(dòng)腳本之間的沖突?做一做:1.容器的高級(jí)配置。2.實(shí)施容器監(jiān)控。3.管理容器日志。4.配置和管理Docker守護(hù)進(jìn)程。課時(shí)內(nèi)容Docker容器編排授課時(shí)間270分鐘課時(shí)6教學(xué)目標(biāo)了解DockerCompose,掌握容器編排的基本操作熟悉Compose文件格式和語法,學(xué)會(huì)編寫Compose文件了解Compose命令,會(huì)使用Compose部署和管理應(yīng)用程序教學(xué)重點(diǎn)DockerCompose的項(xiàng)目概念Compose文件中的服務(wù)定義Compose命令教學(xué)難點(diǎn)DockerCompose的工作機(jī)制Compose文件結(jié)構(gòu)Docker組合使用多個(gè)Compose文件Compose的環(huán)境變量教學(xué)設(shè)計(jì)教學(xué)思路:(1)通過分析使用docker命令部署和管理多容器應(yīng)用程序面臨的問題引入DockerCompose,然后講解DockerCompose的概念、工作機(jī)制、特點(diǎn)和應(yīng)用場(chǎng)景,說明使用DockerCompose的基本步驟,最后示范安裝DockerCompose,并使用它來部署WordPress博客系統(tǒng)。(2)Compose文件是DockerCompose項(xiàng)目的配置文件,用于定義整個(gè)應(yīng)用程序,包括服務(wù)、網(wǎng)絡(luò)和卷,是DockerCompose的核心內(nèi)容。接著講解Compose文件的結(jié)構(gòu)和格式,并具體介紹服務(wù)、網(wǎng)絡(luò)和卷定義的基本語法,注意在networks節(jié)中自定義要?jiǎng)?chuàng)建的容器網(wǎng)絡(luò),供服務(wù)定義中的networks鍵引用;volumes節(jié)專門定義卷存儲(chǔ),供服務(wù)定義中的volumes鍵引用。然后分別示范單個(gè)服務(wù)的Compose文件和多個(gè)服務(wù)的Compose文件的編寫。(3)除了部署應(yīng)用程序外,DockerCompose還可以管理應(yīng)用程序,如啟動(dòng)、停止和刪除應(yīng)用程序,以及獲取應(yīng)用程序的狀態(tài)等。本單元最后講解這方面的內(nèi)容。先介紹DockerCompose的命令格式和常用命令,然后講解DockerCompose的環(huán)境變量。以PythonWeb應(yīng)用程序?yàn)槔痉稄脑创a開始構(gòu)建、部署和管理應(yīng)用程序的全過程,最后解析兩個(gè)多Compose文件的應(yīng)用示例。教學(xué)手段:(1)通過演示講解基礎(chǔ)知識(shí),講解結(jié)束后通過練習(xí)來鞏固所學(xué)知識(shí);(2)對(duì)于重點(diǎn)操作可以著重上機(jī)操作演示;(3)指導(dǎo)學(xué)生進(jìn)行項(xiàng)目實(shí)訓(xùn)。教學(xué)資料及要求:除講解教材中Compose示例外,還可以增加更多的應(yīng)用示例。教學(xué)內(nèi)容知識(shí)回顧:通過上一單元的學(xué)習(xí),學(xué)生應(yīng)當(dāng)掌握了Docker容器與守護(hù)進(jìn)程運(yùn)維和管理的基本方法。在正式的生產(chǎn)環(huán)境中,這些工作很重要。復(fù)雜的應(yīng)用程序部署需要分別執(zhí)行多條docker命令,操作起來比較麻煩,且不便于統(tǒng)一管理,為此Docker引入了容器編排。本單元講解在單主機(jī)上使用DockerCompose部署多個(gè)容器的復(fù)雜應(yīng)用程序。討論問題:1、為什么要使用DockerCompose部署容器?2、如何從源代碼開始構(gòu)建、部署和管理應(yīng)用程序?3、如何組合使用多個(gè)Compose文件??jī)?nèi)容大綱:具體可結(jié)合本單元的PPT課件進(jìn)行講解。任務(wù)一DockerCompose入門任務(wù)要求 了解DockerCompose的背景知識(shí),學(xué)會(huì)安裝并使用DockerCompose。任務(wù)實(shí)現(xiàn) (一)了解為什么要使用DockerCompose。(二)理解DockerCompose的項(xiàng)目概念。(三)理解DockerCompose的工作機(jī)制。(四)了解DockerCompose的特點(diǎn)和應(yīng)用場(chǎng)景。(五)熟悉使用DockerCompose的基本步驟。(六)安裝DockerCompose并用它來部署WordPress博客系統(tǒng)。任務(wù)二掌握Compose文件的編寫任務(wù)要求 熟悉Compose文件格式和語法,學(xué)會(huì)編寫Compose文件。任務(wù)實(shí)現(xiàn) (一)了解YAML文件格式(二)了解Compose文件結(jié)構(gòu)(三)掌握Compose語法,重點(diǎn)是服務(wù)定義(四)編寫單個(gè)服務(wù)的Compose文件(五)編寫多個(gè)服務(wù)的Compose文件任務(wù)三使用DockerCompose部署和管理應(yīng)用程序任務(wù)要求 了解Compose命令,會(huì)使用Compose部署和管理應(yīng)用程序。任務(wù)實(shí)現(xiàn) (一)了解Compose命令格式。(二)了解DockerCompose的常用命令。(三)了解DockerCompose的環(huán)境變量。(四)掌握DockerCompose構(gòu)建、部署和管理應(yīng)用程序的全套流程。(五)了解多個(gè)Compose文件的組合使用。(六)更改Compose文件應(yīng)用程序以適應(yīng)不同環(huán)境。(七)針對(duì)DockerCompose應(yīng)用程序運(yùn)行管理任務(wù)。課后練習(xí) 小結(jié)掌握DockerCompose的安裝和使用方法。學(xué)會(huì)在單主機(jī)上部署多個(gè)容器的應(yīng)用程序。思考及作業(yè)想一想:1.在Compose中什么是項(xiàng)目、服務(wù)和容器?2.Compose采用什么樣的架構(gòu)?3.使用DockerCompose需要哪些步驟?4.docker-compose的3個(gè)子命令up、run和start之間有什么區(qū)別?5.文件和項(xiàng)目之間如何共享Compose通用配置?6.針對(duì)生產(chǎn)環(huán)境應(yīng)該如何修改Compose文件?做一做:1.安裝DockerCompose并使用它部署WordPress。2.從源代碼開始構(gòu)建、部署和管理應(yīng)用程序。

課時(shí)內(nèi)容應(yīng)用程序容器化授課時(shí)間360分鐘課時(shí)8教學(xué)目標(biāo)進(jìn)一步熟悉Docker鏡像,掌握開發(fā)鏡像的方法了解應(yīng)用程序容器化的基本方法和步驟掌握J(rèn)ava應(yīng)用程序容器化的方法掌握PHP應(yīng)用程序容器化的方法掌握Python應(yīng)用程序容器化的方法教學(xué)重點(diǎn)編寫Dockerfile的準(zhǔn)則和建議應(yīng)用程序容器化的基本步驟和一般方法Java應(yīng)用程序容器化Python應(yīng)用程序容器化教學(xué)難點(diǎn)多階段構(gòu)建鏡像容器化過程中的應(yīng)用程序代碼處理基于Tomcat的應(yīng)用程序容器化SpringBoot應(yīng)用程序容器化PythonWeb框架及其部署技術(shù)教學(xué)設(shè)計(jì)教學(xué)思路:(1)參照“項(xiàng)目描述”的內(nèi)容引入應(yīng)用程序容器化之后,講解應(yīng)用程序鏡像的構(gòu)建,重點(diǎn)是逐條講清編寫Dockerfile的準(zhǔn)則和建議,多階段構(gòu)建鏡像有一定難度,結(jié)合教材中的Go程序示例上機(jī)操作,以便學(xué)生理解。制作一個(gè)基于VNC的Firefox鏡像很有意義,示范的圖形界面應(yīng)用程序的鏡像制作。(2)本單元重在應(yīng)用程序的容器化實(shí)施,接著講解應(yīng)用程序容器化的基本步驟和一般方法,重點(diǎn)講明部署容器化應(yīng)用程序的方式、容器化過程中的應(yīng)用程序代碼處理和容器數(shù)據(jù)持久化,最后以單節(jié)點(diǎn)Node.jsWeb應(yīng)用程序示例項(xiàng)目為例演示如何將應(yīng)用程序進(jìn)行容器化的完整過程。(3)Java應(yīng)用程序容器化是本單元的重點(diǎn)內(nèi)容之一,但其中涉及Tomcat和SpringBoot應(yīng)用程序容器化兩個(gè)難點(diǎn)。首先講解JavaWeb開發(fā)技術(shù)及發(fā)布環(huán)境,需要講清Java應(yīng)用程序服務(wù)器、Maven工具和SpringBoot應(yīng)用程序的基本知識(shí);然后引導(dǎo)學(xué)生進(jìn)行實(shí)際操作,使用DockerMaven插件打包Java程序,基于Tomcat的應(yīng)用程序的容器化(包括使用Tomcat的官方鏡像和自定義Tomcat鏡像),對(duì)SpringBoot應(yīng)用程序進(jìn)行Docker部署。(4)PHP應(yīng)用程序容器化相對(duì)簡(jiǎn)單一些,因?yàn)槠湓创a無須編譯。只需講清其特點(diǎn),讓學(xué)生熟悉一下PHP官方鏡像的使用,最后參照教材中的示例,完成使用DockerCompose部署LAMP平臺(tái)的全過程。(5)Python應(yīng)用程序容器化也是本單元的重點(diǎn)內(nèi)容之一,首先講清其特點(diǎn),讓學(xué)生熟悉一下Python官方鏡像的使用。然后來講解PythonWeb框架及其部署技術(shù)這個(gè)大難點(diǎn),尤其是Django這個(gè)PythonWeb框架及其部署技術(shù)(如果學(xué)生學(xué)習(xí)的確困難,則此知識(shí)點(diǎn)可以略過),可以先簡(jiǎn)單講解一下Nginx和uWSGI部署方案,分析Nginx和uWSGI部署的請(qǐng)求響應(yīng)流程,接著完成使用DockerCompose部署Django應(yīng)用程序的操作,最后回過頭來再解析Nginx和uWSGI的配置,并進(jìn)行啟發(fā)學(xué)生進(jìn)行總結(jié)。教學(xué)手段:(1)通過演示講解基礎(chǔ)知識(shí),講解結(jié)束后進(jìn)行練習(xí);(2)對(duì)于重點(diǎn)操作可以著重上機(jī)操作演示,或借助微課視頻,并加強(qiáng)舉例說明;(3)指導(dǎo)學(xué)生完成項(xiàng)目實(shí)訓(xùn)。教學(xué)資料及要求:除教材中的應(yīng)用程序容器化示例外,還可增加其他操作示例,如容器化基于ASP.NET與SQLServer的應(yīng)用程序,具體請(qǐng)參閱Docker官方提供的示例。教學(xué)內(nèi)容知識(shí)回顧:通過上一單元的學(xué)習(xí),學(xué)生應(yīng)當(dāng)掌握了DockerCompose的安裝和使用方法,能夠在單主機(jī)上部署多個(gè)容器的應(yīng)用程序。DockerCompose非常適合基于Docker的應(yīng)用程序的開發(fā)和測(cè)試,比如容器化的開發(fā)環(huán)境會(huì)將應(yīng)用程序所需的所有依賴項(xiàng)封裝在Docker鏡像中。本單元專門講解容器化應(yīng)用程序的實(shí)施方法,涉及Java、PHP、Python等主流應(yīng)用程序的容器化案例。討論問題:1、對(duì)應(yīng)用程序進(jìn)行容器化涉及哪些工作?2、可以對(duì)圖形界面應(yīng)用程序進(jìn)行容器化嗎??jī)?nèi)容大綱:具體可結(jié)合本單元的PPT課件進(jìn)行講解。任務(wù)一構(gòu)建應(yīng)用程序鏡像任務(wù)要求進(jìn)一步了解Docker鏡像,掌握開發(fā)鏡像的方法。任務(wù)實(shí)現(xiàn) (一)了解編寫Dockerfile的準(zhǔn)則和建議(二)了解如何創(chuàng)建自己的基礎(chǔ)鏡像(三)確定應(yīng)用程序鏡像包含的內(nèi)容(四)使用scratch創(chuàng)建簡(jiǎn)單的鏡像(五)嘗試制作運(yùn)行圖形界面軟件的鏡像(六)掌握多階段構(gòu)建鏡像的方法任務(wù)二對(duì)應(yīng)用程序進(jìn)行容器化任務(wù)要求熟悉應(yīng)用程序容器化的基本方法和步驟。任務(wù)實(shí)現(xiàn) (一)了解應(yīng)用程序容器化的基本步驟。(二)了解容器化過程中的應(yīng)用程序代碼處理(三)了解容器化應(yīng)用程序的數(shù)據(jù)持久化(四)通過對(duì)Node.jsWeb應(yīng)用程序進(jìn)行容器化來熟悉容器化的全過程任務(wù)三掌握J(rèn)ava應(yīng)用程序容器化的方法任務(wù)要求了解Java應(yīng)用程序的特點(diǎn)和部署要求,掌握其容器化的方法。任務(wù)實(shí)現(xiàn) (一)了解Java應(yīng)用程序的特點(diǎn)(二)了解JavaWeb開發(fā)技術(shù)及發(fā)布環(huán)境(三)學(xué)會(huì)使用DockerMaven插件打包Java程序(四)學(xué)會(huì)使用Tomcat的官方鏡像部署War應(yīng)用程序(五)學(xué)會(huì)制作自己的Tomcat鏡像部署Web應(yīng)用程序(六)掌握容器化SpringBoot應(yīng)用程序的方法任務(wù)四掌握PHP應(yīng)用程序容器化的方法任務(wù)要求了解PHP應(yīng)用程序的特點(diǎn)和部署要求,掌握其容器化的方法。任務(wù)實(shí)現(xiàn) (一)了解PHP應(yīng)用程序與LAMP平臺(tái)(二)了解PHP應(yīng)用程序容器化的特點(diǎn)(三)熟悉PHP官方鏡像的使用方法(四)學(xué)會(huì)使用DockerCompose部署LAMP平臺(tái)任務(wù)五掌握Python應(yīng)用程序容器化的方法任務(wù)要求了解Python應(yīng)用程序的特點(diǎn)和部署要求,掌握其容器化的方法。任務(wù)實(shí)現(xiàn) (一)了解Python應(yīng)用程序的特點(diǎn)(二)了解PythonWeb框架(三)熟悉Python官方鏡像的使用(四)學(xué)會(huì)使用DockerCompose部署Django應(yīng)用程序課后練習(xí) 小結(jié)掌握將應(yīng)用程序部署到容器中的方法。重點(diǎn)掌握J(rèn)ava、PHP和Python應(yīng)用程序的容器化方法。思考及作業(yè)想一想:1.應(yīng)用程序進(jìn)行容器化包括哪兩項(xiàng)工作?2.編寫Dockerfile的通用準(zhǔn)則有哪些?3.最小鏡像scratch有什么作用?4.為什么要使用多階段構(gòu)建?5.應(yīng)用程序容器化一般需要哪幾個(gè)步驟?6.容器化過程中如何處理應(yīng)用程序代碼?7.目前主流的開源Java應(yīng)用程序服務(wù)器有哪幾種?8.Maven工具有什么用?9.SpringBoot框架有什么優(yōu)勢(shì)?10.PHP應(yīng)用程序容器化有哪些特點(diǎn)?11.Python項(xiàng)目中的requirements.txt文件有什么用?12.PythonWeb應(yīng)用中uWSGI有什么用?做一做:1.容器化SpringBoot應(yīng)用程序。2.使用DockerCompose部署LAMP平臺(tái)。3.使用DockerCompose部署Django應(yīng)用程序。

課時(shí)內(nèi)容自動(dòng)化構(gòu)建與持續(xù)集成授課時(shí)間270分鐘課時(shí)6教學(xué)目標(biāo)了解鏡像的自動(dòng)化構(gòu)建,掌握自動(dòng)化構(gòu)建的操作方法理解持續(xù)集成的概念,了解Docker在持續(xù)集成中的應(yīng)用掌握Drone工具的使用方法,實(shí)現(xiàn)持續(xù)集成和自動(dòng)化部署教學(xué)重點(diǎn)鏡像自動(dòng)化構(gòu)建的操作方法基于Drone的持續(xù)集成和持續(xù)部署平臺(tái)持續(xù)集成和自動(dòng)化部署實(shí)施過程教學(xué)難點(diǎn)使用阿里云容器鏡像服務(wù)實(shí)現(xiàn)鏡像的自動(dòng)化構(gòu)建基于Drone和Gogs搭建CI/CD平臺(tái)基于CI/CD平臺(tái)實(shí)施持續(xù)集成和持續(xù)部署教學(xué)設(shè)計(jì)教學(xué)思路:本單元實(shí)驗(yàn)操作比重大,重在上機(jī)操作,通過操作來掌握自動(dòng)化構(gòu)建與持續(xù)集成的方法,達(dá)到教學(xué)目的。如果實(shí)驗(yàn)條件限制,可以在課堂上播放微課視頻來代替上機(jī)操作演示。(1)參照“項(xiàng)目描述”內(nèi)容從DevOps引出本單元的主題,開始講解鏡像的自動(dòng)化構(gòu)建。首先講解鏡像自動(dòng)化構(gòu)建的基礎(chǔ)知識(shí)時(shí),簡(jiǎn)單介紹代碼分支管理,解析DockerHub自動(dòng)化構(gòu)建過程。然后轉(zhuǎn)入實(shí)驗(yàn)操作環(huán)節(jié),以將代碼提交到GitHub遠(yuǎn)程倉庫為例示范Git工具的使用,最后重點(diǎn)示范使用阿里云容器鏡像服務(wù)實(shí)現(xiàn)鏡像的自動(dòng)化構(gòu)建,這個(gè)操作步驟步驟比較多,需要分成設(shè)置代碼源、創(chuàng)建鏡像倉庫、設(shè)置構(gòu)建規(guī)則、開始構(gòu)建鏡像等幾個(gè)操作環(huán)節(jié)來詳細(xì)解析。(2)Docker非常適合自動(dòng)化,不同場(chǎng)合下運(yùn)行環(huán)境的一致性和輕量級(jí)特性使得它特別適合進(jìn)行持續(xù)集成和持續(xù)部署。首先厘清持續(xù)集成與持續(xù)部署的概念,介紹持續(xù)集成與持續(xù)部署的工具,解析Drone持續(xù)集成和持續(xù)部署的基本流程,讓學(xué)生理解其工作機(jī)制。使用Drone的一項(xiàng)重要工作就是編寫.drone.yml文件,接著講解.drone.yml文件的結(jié)構(gòu)和主要指令,并介紹幾個(gè)常用的Drone插件。最后轉(zhuǎn)入實(shí)操環(huán)節(jié),兩個(gè)示例的操作步驟都比較多,且分為多個(gè)環(huán)節(jié),需要落實(shí)好每個(gè)環(huán)節(jié)。基于Drone和Gogs搭建CI/CD平臺(tái)時(shí),關(guān)鍵要正確編寫docker-compose.yml文件,運(yùn)行該Compose項(xiàng)目之后登錄Gogs服務(wù)器并進(jìn)行初始化設(shè)置,創(chuàng)建倉庫并簡(jiǎn)單測(cè)試項(xiàng)目的構(gòu)建?;贒rone/Gogs平臺(tái)實(shí)現(xiàn)一個(gè)PythonFlask程序從測(cè)試到部署的CI/CD流程時(shí),需要重點(diǎn)工作流定義,尤其是.drone.yml文件的正確編寫,跟蹤和查看工作流進(jìn)度并進(jìn)行解析,另一個(gè)重點(diǎn)環(huán)節(jié)是實(shí)現(xiàn)項(xiàng)目的自動(dòng)化迭代。教學(xué)手段:(1)通過演示講解基礎(chǔ)知識(shí),講解結(jié)束后進(jìn)行交互操作練習(xí);(2)對(duì)于重點(diǎn)操作可以著重上機(jī)操作演示,或者播放微課視頻,并加強(qiáng)舉例說明。3、教學(xué)資料及要求:除教材中的持續(xù)構(gòu)建項(xiàng)目外,還可增加其他其他項(xiàng)目,如上一單元的PHP應(yīng)用程序。還可根據(jù)需要補(bǔ)充介紹Jenkins的CI/CD工作流。教學(xué)內(nèi)容知識(shí)回顧:前面的單元講解了將應(yīng)用程序部署到容器中的方法,涉及Java、PHP和Python,以及Node.js等主流應(yīng)用程序的Docker部署。隨著DevOps的發(fā)展,應(yīng)用程序的測(cè)試和部署需要使用持續(xù)集成和持續(xù)部署。本單元就講解這方面的任務(wù)實(shí)施方法。討論問題:1、為什么需要使用鏡像自動(dòng)化構(gòu)建?2、持續(xù)集成和持續(xù)部署有什么好處??jī)?nèi)容大綱:具體可結(jié)合本單元的PPT課件進(jìn)行講解。任務(wù)一鏡像的自動(dòng)化構(gòu)建任務(wù)要求(1)了解鏡像自動(dòng)化構(gòu)建的基礎(chǔ)知識(shí)。(2)掌握阿里云提供的鏡像自動(dòng)化構(gòu)建方法。任務(wù)實(shí)現(xiàn) (一)了解代碼分支管理(二)了解DockerHub的自動(dòng)化構(gòu)建過程(三)了解自動(dòng)化構(gòu)建鏡像的優(yōu)點(diǎn)(四)熟悉Git工具的使用方法(五)了解阿里云容器鏡像服務(wù)的自動(dòng)化構(gòu)建,通過實(shí)驗(yàn)操作掌握其具體步驟和方法任務(wù)二基本掌握持續(xù)集成與持續(xù)部署的方法任務(wù)要求(1)了解持續(xù)集成和持續(xù)部署的基礎(chǔ)知識(shí),重點(diǎn)理解Drone的工作機(jī)制。(2)掌握CI/CD平臺(tái)的搭建方法。(3)初步掌握持續(xù)集成和持續(xù)部署項(xiàng)目的方法和過程。任務(wù)實(shí)現(xiàn) (一)理解持續(xù)集成與持續(xù)部署的概念(二)了解持續(xù)集成與持續(xù)部署的工具(三)理解Drone持續(xù)集成和持續(xù)部署的工作機(jī)制(四)了解.drone.yml文件結(jié)構(gòu)及其主要指令(五)了解主要的Drone插件、(六)基于Drone和Gogs搭建一個(gè)實(shí)驗(yàn)用的CI/CD平臺(tái)(七)學(xué)會(huì)項(xiàng)目的持續(xù)集成和持續(xù)部署(基于上述Drone/Gogs平臺(tái)實(shí)現(xiàn)一個(gè)PythonFlask程序從測(cè)試到部署的CI/CD完整流程)課后練習(xí) 小結(jié)1、掌握鏡像的自動(dòng)化構(gòu)建方法。2、初步掌握基于Docker的持續(xù)集成和持續(xù)部署的實(shí)施方法。思考及作業(yè)想一想:1.代碼管理中項(xiàng)目創(chuàng)建的默認(rèn)分支是什么?它有什么作用?2.代碼倉庫是通過什么觸發(fā)鏡像倉庫的自動(dòng)功能的?3.自動(dòng)化構(gòu)建鏡像有哪些優(yōu)點(diǎn)?4.Git工具主要用途哪些?5.什么是持續(xù)集成?什么是持續(xù)部署?6.Drone持續(xù)集成和持續(xù)部署主要包括哪些流程?7.Drone插件有什么作用?8.Drone中服務(wù)器與代理各自職責(zé)是什么?9.為什么drone-agent服務(wù)需要綁定掛載/var/run/docker.sock文件?做一做:1.使用阿里云容器鏡像服務(wù)的自動(dòng)化構(gòu)建功能。2.實(shí)現(xiàn)項(xiàng)目的持續(xù)集成和持續(xù)部署。

課時(shí)內(nèi)容Docker集群配置與應(yīng)用授課時(shí)間360分鐘課時(shí)8教學(xué)目標(biāo)了解DockerSwarm,掌握Swarm集群建立及節(jié)點(diǎn)管理了解Swarm服務(wù),學(xué)會(huì)在集群中部署和管理服務(wù)了解Swarm網(wǎng)絡(luò),掌握overlay網(wǎng)絡(luò)的創(chuàng)建和使用了解Swarm高可用性和負(fù)載平衡,學(xué)會(huì)配置外部負(fù)載平衡器熟悉Docker棧,會(huì)使用它在集群中部署分布式應(yīng)用程序教學(xué)重點(diǎn)創(chuàng)建Swarm集群將服務(wù)部署到Swarm集群服務(wù)的伸縮、滾動(dòng)更新、版本回滾和對(duì)外發(fā)布自定義overlay網(wǎng)絡(luò)的創(chuàng)建和使用方法Docker棧的文件格式使用Docker棧部署和管理應(yīng)用程序教學(xué)難點(diǎn)服務(wù)、任務(wù)與容器之間的關(guān)系控制服務(wù)的放置Swarm路由網(wǎng)Swarm服務(wù)發(fā)現(xiàn)的工作機(jī)制配置外部負(fù)載平衡器使用Docker棧部署應(yīng)用程序及容器監(jiān)控系統(tǒng)教學(xué)設(shè)計(jì)教學(xué)思路:本單元涉及的概念和術(shù)語比較多,需要詳細(xì)講解;實(shí)驗(yàn)操作也比較多,上機(jī)操作對(duì)實(shí)驗(yàn)環(huán)節(jié)要求較高,至少需要3臺(tái)Docker主機(jī)組成網(wǎng)絡(luò)來進(jìn)行容器集群實(shí)驗(yàn)。建議使用虛擬機(jī)來組網(wǎng),如果實(shí)驗(yàn)條件限制,可以在課堂上播放微課視頻來代替上機(jī)操作演示。重點(diǎn)內(nèi)容是Swarm集群的建立和管理、應(yīng)用程序在集群中的部署和管理。(1)DockerSwarm集群的建立和管理部分主要介紹DockerSwarm的背景知識(shí),說明為什么要使用容器集群;講解Swarm集群及其節(jié)點(diǎn)的概念,介紹節(jié)點(diǎn)的角色,解析Swarm集群架構(gòu);介紹Swarm集群的創(chuàng)建方法,并進(jìn)行操作示范;講解Swarm節(jié)點(diǎn)的管理操作并示范,涉及節(jié)點(diǎn)的查看、節(jié)點(diǎn)加入或脫離集群。(2)應(yīng)用程序是以服務(wù)的形式部署到集群中的,在Swarm集群中部署和管理服務(wù)主要理清Swarm的服務(wù)、任務(wù)和容器之間的關(guān)系,解析Swarm服務(wù)工作流;簡(jiǎn)單介紹復(fù)制服務(wù)和全局服務(wù)兩種類型;講解任務(wù)的狀態(tài)及其轉(zhuǎn)化;通過示范操作講解服務(wù)的創(chuàng)建、伸縮、滾動(dòng)更新、回滾操作和對(duì)外發(fā)布操作;講解服務(wù)放置的控制和排空節(jié)點(diǎn)。(3)Docker使用overlay網(wǎng)絡(luò)來管理Swarm集群中的Docker守護(hù)進(jìn)程之間的通信,配置管理Swarm網(wǎng)絡(luò)部分先介紹容器跨主機(jī)通信的幾種方式,并講解了解Swarm模式的overlay網(wǎng)絡(luò);講解Swarm模式的路由網(wǎng)概念,路由網(wǎng)將內(nèi)部服務(wù)暴露到非容器網(wǎng)絡(luò)中,并通過發(fā)布服務(wù)端口對(duì)外提供訪問;講解Swarm服務(wù)發(fā)現(xiàn)與服務(wù)間通信,Docker利用內(nèi)置的DNS服務(wù)為Swarm模式下的服務(wù)任務(wù)提供服務(wù)發(fā)現(xiàn)功能。然后轉(zhuǎn)到實(shí)驗(yàn)操作環(huán)節(jié),先創(chuàng)建自定義overlay網(wǎng)絡(luò),再將Swarm服務(wù)連接到自定義overlay網(wǎng)絡(luò),最后在此基礎(chǔ)上驗(yàn)證Swarm服務(wù)發(fā)布模式。這一部分相關(guān)的提法比較繞,需要詳細(xì)講解,必要舉例說明。(4)在生產(chǎn)環(huán)境中部署和運(yùn)行應(yīng)用程序通常需要實(shí)現(xiàn)高可用性和負(fù)載平衡,本單元關(guān)于此主題的內(nèi)容不多,簡(jiǎn)單介紹一下Swarm的狀態(tài)自動(dòng)調(diào)整與故障轉(zhuǎn)移,驗(yàn)證Swarm故障轉(zhuǎn)移比較容易。重難點(diǎn)是講解Swarm負(fù)載平衡工作機(jī)制以及相關(guān)的端點(diǎn)模式,以部署HAProxy負(fù)載平衡軟件為例示范外部負(fù)載平衡器的配置。(5)Docker適用于開發(fā)和測(cè)試,而Docker棧則適用于大規(guī)模場(chǎng)景和生產(chǎn)環(huán)境。使用Docker棧部署分布式應(yīng)用程序是本單元的重中之重。而Docker??梢栽赟warm集群中一次啟動(dòng)多個(gè)關(guān)聯(lián)的服務(wù),實(shí)現(xiàn)多服務(wù)分布式應(yīng)用程序的一站式部署,特別適合生產(chǎn)環(huán)境,比如微服務(wù)架構(gòu)的應(yīng)用程序部署。講解Docker棧的基礎(chǔ)知識(shí)時(shí)可以與DockerCompose進(jìn)行比較。講解Docker棧的概念,說明棧的優(yōu)勢(shì);說明Docker棧的文件格式,其本身就是一個(gè)Compose文件,列舉deploy關(guān)鍵字的主要選項(xiàng),再找出棧文件與Compose文件之間不同之處;進(jìn)一步比較Docker棧和DockerCompose;接單介紹Docker棧操作命令。然后轉(zhuǎn)到實(shí)驗(yàn)操作環(huán)節(jié),先以在集群中發(fā)布一個(gè)Nginx服務(wù)為例體驗(yàn)使用Docker棧發(fā)布簡(jiǎn)單的服務(wù);再使用Docker棧部署應(yīng)用程序及容器監(jiān)控系統(tǒng)來演示多服務(wù)多節(jié)點(diǎn)的棧部署的全過程。2、教學(xué)手段:(1)通過PPT演示講解基礎(chǔ)知識(shí),講解結(jié)束后進(jìn)行操作練習(xí);(2)對(duì)于重點(diǎn)操作可以著重上機(jī)操作演示,或播放微課視頻,并穿

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論