容器技術(shù)與應(yīng)用(第2版)(微課版) 課件 任務(wù)2.1 查看和管理Dker鏡像_第1頁(yè)
容器技術(shù)與應(yīng)用(第2版)(微課版) 課件 任務(wù)2.1 查看和管理Dker鏡像_第2頁(yè)
容器技術(shù)與應(yīng)用(第2版)(微課版) 課件 任務(wù)2.1 查看和管理Dker鏡像_第3頁(yè)
容器技術(shù)與應(yīng)用(第2版)(微課版) 課件 任務(wù)2.1 查看和管理Dker鏡像_第4頁(yè)
容器技術(shù)與應(yīng)用(第2版)(微課版) 課件 任務(wù)2.1 查看和管理Dker鏡像_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Docker容器技術(shù)與應(yīng)用湖北輕工職業(yè)技術(shù)學(xué)院項(xiàng)目2項(xiàng)目背景

在正常情況下,docker有一個(gè)默認(rèn)連接的國(guó)外官方鏡像,在國(guó)外的用戶訪問該官方鏡像自然不成問題,但是國(guó)內(nèi),由于國(guó)情不同,中國(guó)的網(wǎng)絡(luò)訪問國(guó)外官方鏡像網(wǎng)速一向很慢,而且往往還會(huì)遭遇斷網(wǎng)的窘境,所以對(duì)于國(guó)內(nèi)的用戶,要想正常使用docker的鏡像,就不得不配置相應(yīng)的國(guó)內(nèi)鏡像。Docker鏡像管理和定制Docker鏡像管理和定制項(xiàng)目2鏡像是Docker的核心技術(shù)之一,是創(chuàng)建Docker容器的基礎(chǔ)模板。本項(xiàng)目通過(guò)3個(gè)任務(wù)介紹鏡像的基本概念和圍繞鏡像這一核心概念的具體操作,包括如何使用pull命令獲取鏡像、如何查看本地已有的鏡像信息和管理鏡像、如何創(chuàng)建用戶定制的鏡像,以及如何創(chuàng)建私有倉(cāng)庫(kù)。項(xiàng)目二:Docker鏡像管理和定制目錄任務(wù)2.1、查看和管理Docker鏡像任務(wù)2.2、創(chuàng)建和使用私有倉(cāng)庫(kù)任務(wù)2.3、創(chuàng)建定制的Docker鏡像認(rèn)識(shí)和安裝Dokcer回顧1、為什么需要云平臺(tái)2、公有云與私有云的區(qū)別及優(yōu)點(diǎn)3、為什么會(huì)出現(xiàn)docker4、docker的定義、核心概念、優(yōu)點(diǎn)5、虛擬化技術(shù)與容器化技術(shù)6、docker引擎及底層技術(shù)7、Linux下在線安裝Docker知識(shí)目標(biāo)了解鏡像的基本概念。掌握鏡像的常用操作命令。能力目標(biāo)掌握鏡像的分層操作。掌握鏡像的基本操作。素質(zhì)目標(biāo)培養(yǎng)愛國(guó)主義。樹立民族自豪感。工程師小王編寫完Docker安裝手冊(cè)并提交后,公司安排小王繼續(xù)編寫相關(guān)技術(shù)手冊(cè),旨在在公司內(nèi)部更廣泛地推廣Docker技術(shù)的應(yīng)用與實(shí)踐。小王決定編寫關(guān)于Docker鏡像管理的操作手冊(cè),以期提供更加直觀、高效的實(shí)踐資料。任務(wù)2.1查看和管理Docker鏡像任務(wù)要求2.1Docker鏡像 Docker鏡像類似于虛擬機(jī)中的鏡像,是一個(gè)只讀的模板,也是一個(gè)獨(dú)立的文件系統(tǒng),包括運(yùn)行容器所需的數(shù)據(jù)。。例如,一個(gè)鏡像可以包含一個(gè)基本的操作系統(tǒng)環(huán)境,其中僅安裝了nginx應(yīng)用或用戶需要的其他應(yīng)用,可以將其稱為一個(gè)nginx鏡像。任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1Docker鏡像鏡像在IT領(lǐng)域通常是一系列文件或一個(gè)磁盤驅(qū)動(dòng)器的精確副本。Docker鏡像是按照docker要求定制的應(yīng)用程序,就像軟件安裝包一樣。一個(gè)Docker鏡像可以包括一個(gè)應(yīng)用程序以及能夠運(yùn)行它的基本操作系統(tǒng)環(huán)境。對(duì)于linux系統(tǒng)而言,內(nèi)核啟動(dòng)后,會(huì)掛載root文件系統(tǒng)為其提供用戶空間支持,而docker鏡像相當(dāng)于是一個(gè)root文件系統(tǒng)。鏡像是創(chuàng)建容器的基礎(chǔ),是通過(guò)版本管理和增量的文件系統(tǒng),docker提供了一套十分簡(jiǎn)單的機(jī)制來(lái)創(chuàng)建和更新現(xiàn)有的鏡像。鏡像是一種輕量級(jí)、可執(zhí)行的獨(dú)立軟件包,用來(lái)打包軟件運(yùn)行環(huán)境和基于運(yùn)行環(huán)境開發(fā)的軟件,它包含運(yùn)行某個(gè)軟件所需的所有內(nèi)容,包含代碼、運(yùn)行庫(kù)、環(huán)境變量和配置文件。

任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1Docker鏡像 Docker鏡像是Docker容器的靜態(tài)表示,包括Docker容器所要運(yùn)行的應(yīng)用代碼及運(yùn)行時(shí)的配置。Docker鏡像采用分層的方式構(gòu)建,每個(gè)鏡像均由一系列的“鏡像層”組成。鏡像一旦被創(chuàng)建就無(wú)法被修改。任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1圖2-1Docker容器的分層結(jié)構(gòu)任務(wù)2.1查看和管理Docker鏡像2.1Docker鏡像是Docker容器的靜態(tài)表示,一個(gè)運(yùn)行著的docker容器是一個(gè)鏡像的實(shí)例,那如果需要修改容器鏡像的某個(gè)文件時(shí),那就只能對(duì)處于最上層的可寫層進(jìn)行變動(dòng),而不能覆蓋下面只讀層的內(nèi)容。這個(gè)圖就表示了只讀層和只寫層的分層結(jié)構(gòu)關(guān)系,可寫層位于底下的若干只讀層之上,運(yùn)行時(shí)的所有變化,包括對(duì)數(shù)據(jù)和文件的寫和更新,都會(huì)保存在可層層中。Docker鏡像Docker鏡像采用了寫時(shí)復(fù)制(Copy-on-Write)的策略,在多個(gè)容器之間共享鏡像,每個(gè)容器在啟動(dòng)的時(shí)候并不需要單獨(dú)復(fù)制一份鏡像文件,而是將所有鏡像層以只讀的方式掛載到一個(gè)掛載點(diǎn),再在上面覆蓋一個(gè)可讀寫的容器層。寫時(shí)復(fù)制策略配合分層機(jī)制的應(yīng)用,減少了鏡像對(duì)磁盤空間的占用和容器啟動(dòng)時(shí)間。任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1Docker鏡像采用統(tǒng)一文件系統(tǒng)對(duì)各層進(jìn)行管理。統(tǒng)一文件系統(tǒng)技術(shù)能夠?qū)⒉煌膶诱铣梢粋€(gè)文件系統(tǒng),為這些層提供一個(gè)統(tǒng)一的視角,這樣就隱藏了多層的存在,從用戶的角度看來(lái),只存在一個(gè)文件系統(tǒng)。使用Docker的常用命令(1)獲取鏡像——鏡像倉(cāng)庫(kù)中拉取或者更新指定鏡像命令格式:dockerpull[DockerRegistry地址]<鏡像名>[:<標(biāo)簽名>]例如,獲取centos:latest鏡像的代碼如下。[root@master~]#dockerpullcentos:latest例如:從私有倉(cāng)庫(kù)中獲取centos:latest鏡像,私有倉(cāng)庫(kù)地址為0的代碼如下:[root@master~]#dockerpull0:5000/centos:latest任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(2)查看鏡像信息。

命令格式:

dockerimages[選項(xiàng)][<鏡像名>][:<標(biāo)簽名>]dockerimages命令的常用選項(xiàng)如下。

①-a:列出本地所有的鏡像(含中間映像層,默認(rèn)情況下,過(guò)濾掉中間映像層)。

②-f:顯示滿足條件的鏡像。

③-q:只顯示鏡像ID。

例如,列出本地鏡像的代碼如下。[root@localhost~]#dockerimages任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(2)查看鏡像信息:dockerimages

任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1dockerimage命令顯示信息中各字段的說(shuō)明如下:REPOSITORY:表示鏡像的倉(cāng)庫(kù)源,也可以說(shuō)是鏡像的名稱。TAG:鏡像的標(biāo)簽,同一個(gè)倉(cāng)庫(kù)可以有多個(gè)TAG,代表這個(gè)倉(cāng)庫(kù)源的不同鏡像版本,如CENTOS倉(cāng)庫(kù)源中有7.3、7.4等不同版本,可以使用REPOSITORY:TAG來(lái)定義不同的鏡像。IMAGEID:鏡像ID,可以通過(guò)dockerrespectcentos:lastest,repodigests字段就是實(shí)際鏡像id,全長(zhǎng)64個(gè)十六進(jìn)制字符,它是由哈希函數(shù)sha256對(duì)鏡像配置文件計(jì)算而來(lái),實(shí)際它只取了dockerrespectcentos:lastest里字段id的前幾位。CREATED:鏡像創(chuàng)建時(shí)間。SIZE:鏡像大小。

使用Docker的常用命令(3)查找鏡像——

從DockerHub查找鏡像

命令格式:

dockersearch[選項(xiàng)]TERMdockersearch命令的常用選項(xiàng)如下。

①--automated:默認(rèn)為False,即顯示automatedbuild鏡像。

②--no-trunc:默認(rèn)為False,即顯示完整的鏡像描述。

③-s:列出收藏?cái)?shù)不小于指定值的鏡像。

例如,查找鏡像名為centos的鏡像的代碼如下。[root@localhost~]#dockersearchcentos任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(3)查找鏡像:dockersearch任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1例如:從DockerHub查找所有鏡像名包含java,并且收藏?cái)?shù)大于10的鏡像參數(shù)說(shuō)明:NAME:

鏡像倉(cāng)庫(kù)源的名稱DESCRIPTION:

鏡像的描述OFFICIAL:

是否docker官方發(fā)布stars:

類似Github里面的star,表示點(diǎn)贊、喜歡的意思。AUTOMATED:

自動(dòng)構(gòu)建使用Docker的常用命令(4)標(biāo)記鏡像。

dockertag:

標(biāo)記本地鏡像,將其歸入某一倉(cāng)庫(kù)。(標(biāo)簽可以看作是別名,一個(gè)鏡像可以有多個(gè)標(biāo)簽,但只能有一個(gè)ID)

命令格式:

dockertag[鏡像名]:[原標(biāo)簽名][鏡像名]:[新標(biāo)簽名]

例如,將centos:latest鏡像標(biāo)記為centos:test鏡像。[root@localhost~]#dockertagcentos:latestcentos:test任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(4)標(biāo)記鏡像:dockertag例如:將centos:latest鏡像標(biāo)記位centos:test鏡像:任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1從dockerimages命令的結(jié)果來(lái)看:本地的centos:latest鏡像沒有任何改變,只是新增了一個(gè)標(biāo)簽,標(biāo)簽名為centos:test使用Docker的常用命令(5)刪除鏡像。

命令格式:

dockerrmi[選項(xiàng)]鏡像1[鏡像2...]dockerrmi命令的常用選項(xiàng)如下。

①-f:強(qiáng)制刪除。

②--no-prune:不移除該鏡像的過(guò)程鏡像,默認(rèn)是移除該鏡像的過(guò)程鏡像的。

例如,列出本地主機(jī)的所有鏡像,并刪除鏡像名為mysql:latest的鏡像的代碼如下。[root@localhost~]#

dockerrmi–f

mysql:latest //等價(jià)于dockerrmi-fmysql利用dockerrmi可以刪除不需要的鏡像,以釋放鏡像占用的磁盤空間。任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(5)刪除鏡像。

命令格式:

dockerrmi在刪除鏡像時(shí),也可以使用鏡像ID、鏡像短ID進(jìn)行刪除。例如:[root@localhost~]#

dockerrmi–f

61

或[root@localhost~]#

dockerrmi–f

b1f0940swi08882批量刪除鏡像:dockerimage–q命令進(jìn)行配置任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(5)刪除鏡像。

命令格式:

dockerrmi例如:刪除所有倉(cāng)庫(kù)名為ubuntu的鏡像代碼如下: [root@localhost~]#

dockerrmi–f

$(dockerimage–qubuntu)

刪除本地所有鏡像的代碼如下:[root@localhost~]#

dockerrmi–f

$(dockerimage–q)任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(5)刪除鏡像。任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1當(dāng)一個(gè)鏡像有多個(gè)標(biāo)簽時(shí),dockerrmi命令僅刪除該鏡像多個(gè)標(biāo)簽中的指定標(biāo)簽,不會(huì)影響鏡像文件,相當(dāng)于只刪除了鏡像0e1c0c70dbc5的一個(gè)標(biāo)簽。但當(dāng)該鏡像只剩下一個(gè)標(biāo)簽時(shí),再使用刪除命令就會(huì)徹底刪除該鏡像。使用Docker的常用命令(5)刪除鏡像。任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1問題:如果使用dockerrmi0e1c0c70dbc5命令,可以直接同時(shí)刪除相同鏡像的不同標(biāo)簽嗎?回答:不可以(5)刪除鏡像。

任務(wù)2.1查看和管理Docker鏡像2.1問題:如果使用dockerrmiredhat命令,可以直接同時(shí)刪除相同鏡像的不同標(biāo)簽嗎?(5)刪除鏡像。

任務(wù)2.1查看和管理Docker鏡像2.1問題:如果使用dockerrmiredhat命令,可以直接同時(shí)刪除相同鏡像的不同標(biāo)簽嗎?回答:不可以(5)刪除鏡像。問題:如果刪除報(bào)以下錯(cuò)誤,怎么辦?

任務(wù)2.1查看和管理Docker鏡像2.1(5)刪除鏡像。問題:如果刪除報(bào)以下錯(cuò)誤,怎么辦?

任務(wù)2.1查看和管理Docker鏡像2.1解決辦法:先需要關(guān)閉刪除容器,再刪除鏡像。查看當(dāng)前運(yùn)行的容器:dockerps-a關(guān)閉容器:dockerstop$(dockerps-a-q)或dockerstopnginx01刪除容器:dockerrm$(dockerps-a-q)或dockerrm-rfnginx01刪除:nginx:latest鏡像:dockerrminginx:latest(5)刪除鏡像。鏡像可以理解為一種構(gòu)建時(shí)(build-time)結(jié)構(gòu),而容器可以理解為一種運(yùn)行時(shí)(run-time)結(jié)構(gòu)。上圖從頂層設(shè)計(jì)層面展示了鏡像和容器間的關(guān)系。通常使用命令從某個(gè)鏡像啟動(dòng)一個(gè)或多個(gè)容器。一旦容器從鏡像啟動(dòng)后,二者之間就變成了互相依賴的關(guān)系,并且在鏡像上啟動(dòng)的容器全部停止之前,鏡像是無(wú)法被刪除的。嘗試刪除鏡像而不停止或銷毀使用它的容器,會(huì)導(dǎo)致出錯(cuò)。因此:刪除鏡像時(shí),系統(tǒng)會(huì)先刪除指向該鏡像的所有標(biāo)簽,然后刪除該鏡像本身。如果該鏡像已經(jīng)被容器使用,正確的做法是先刪除依賴該鏡像的所有容器,再去刪除鏡像。

任務(wù)2.1查看和管理Docker鏡像2.1使用Docker的常用命令(6)鏡像的導(dǎo)入。

命令格式:dockerload——可實(shí)現(xiàn)鏡像的導(dǎo)入。語(yǔ)法:dockerload[OPTIONS]OPTIONS說(shuō)明: --input,-i:指定導(dǎo)入的文件,代替STDIN。 --quiet,-q:精簡(jiǎn)輸出信息。例如,將ubuntu.tar文件導(dǎo)入的代碼如下。[root@localhost~]#dockerload--inputubuntu.tar任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(7)鏡像的導(dǎo)出。

命令格式:dockersave—將指定鏡像保存成tar歸檔文件,即將鏡像導(dǎo)出。語(yǔ)法:dockersave[OPTIONS]IMAGE[IMAGE...]OPTIONS說(shuō)明: -o:輸出到的文件例如,將ubuntu:latest鏡像導(dǎo)出生成ubuntu.tar文件的代碼如下。[root@localhost~]#dockersave-oubuntu.tarubuntu:latest

任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(8)上傳鏡像。

命令格式:dockerpush[鏡像名]:[標(biāo)簽名]——

可將本地的鏡像上傳到鏡像倉(cāng)庫(kù),要先登陸到鏡像倉(cāng)庫(kù)

例如,上傳本地鏡像centos:test至鏡像倉(cāng)庫(kù)的代碼如下。[root@localhost~]#dockerpushcentos:test任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(9)查看鏡像詳細(xì)信息--獲取容器/鏡像的元數(shù)據(jù)(JSON格式)命令格式:dockerinspect[OPTIONS]NAME|ID[NAME|ID...]選項(xiàng): -f指定返回值的模板文件; -s如果類型為容器,則顯示文件總大小; --type返回指定類型的JSON[root@localhost~]#dockerinspectcentos任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(9)查看鏡像詳細(xì)信息--獲取容器/鏡像的元數(shù)據(jù)(JSON格式)

[root@localhost~]#dockerinspectcentos任務(wù)2.1查看和管理Docker鏡像相關(guān)知識(shí)2.1使用Docker的常用命令(9)查看鏡像詳細(xì)信息。舉例:(1)獲取容器IP:#dockerinspect--format='{{range.NetworkSettings.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論