docker的整個(gè)生命周期有三部分組成:鏡像(image)+容器(container)+倉庫(repository),; 如下圖所示,容器是由鏡像實(shí)例化而來,,這和我們學(xué)習(xí)的面向?qū)ο蟮母拍钍窒嗨?,我們可以把鏡像看作類,,把容器看作類實(shí)例化后的對象。 也可以說鏡像是文件, 容器是進(jìn)程,。 容器是基于鏡像創(chuàng)建的, 即容器中的進(jìn)程依賴于鏡像中的文件, 這里的文件包括進(jìn)程運(yùn)行所需要的可執(zhí)行文件,, 依賴軟件, 庫文件,, 配置文件等等...
docker 的鏡像概念類似虛擬機(jī)的鏡像,。是一個(gè)只讀的模板,一個(gè)獨(dú)立的文件系統(tǒng),,包括運(yùn)行容器所需的數(shù)據(jù),,可以用來創(chuàng)建新的容器。( docker create <image -id > :為指定的鏡像添加一個(gè)可讀寫層,,構(gòu)成一個(gè)新的容器,;) 例如:一個(gè)鏡像可以包含一個(gè)完整的ubuntu操作系統(tǒng)環(huán)境,里面僅安裝了mysql或用戶需要的其他應(yīng)用程序,。 docker鏡像實(shí)際上是由一層一層的系統(tǒng)文件組成,,這種層級(jí)的文件系統(tǒng)被稱為UnionFS( Union file system 統(tǒng)一文件系統(tǒng)),鏡像可以基于dockerfile構(gòu)建,,dockerfile是一個(gè)描述文件,,里面包含了若干條密令,每條命令都會(huì)對基礎(chǔ)文件系統(tǒng)創(chuàng)建新的層次結(jié)構(gòu),。 docker提供了一個(gè)很簡單的機(jī)制來創(chuàng)建鏡像或更新現(xiàn)有的鏡像,。用戶甚至可以從其他人那里下載一個(gè)已經(jīng)做好的鏡像直接使用。(鏡像是只讀的,,可以理解為靜態(tài)文件) docker利用容器來運(yùn)行應(yīng)用:docker容器是由docker鏡像創(chuàng)建的運(yùn)行實(shí)例,。docker容器類似虛擬機(jī),可以執(zhí)行包含啟動(dòng),,停止,,刪除等。每個(gè)容器間是相互隔離的,。容器中會(huì)運(yùn)行特定的運(yùn)用,,包含特定應(yīng)用的代碼及所需的依賴文件??梢园讶萜骺醋饕粋€(gè)簡易版的linux環(huán)境(包含root用戶權(quán)限,,進(jìn)程空間,用戶空間和網(wǎng)絡(luò)空間等)和運(yùn)行在其中的應(yīng)用程序,。 相對于鏡像來說容器是動(dòng)態(tài)的,,容器在啟動(dòng)的時(shí)候創(chuàng)建了一層可寫層次作為最上層。( docker create <image -id > :為指定的鏡像添加一個(gè)可讀寫層,,構(gòu)成一個(gè)新的容器,;) docker倉庫:如果使用了git和github就很容易理解docker的倉庫概念,。docker倉庫概念和git類似。 docker倉庫是用來包含鏡像的位置,,docker提供了一個(gè)注冊服務(wù)器(register)來保存多個(gè)倉庫,,每個(gè)倉庫又可以包含多個(gè)具備不同tag的鏡像, docker運(yùn)作中使用的默認(rèn)倉庫是docker hub公共倉庫,。 倉庫支持的操作類似git,,當(dāng)用戶創(chuàng)建了自己的鏡像之后就可以使用push命令將它上傳到共有或者私有的倉庫。這樣下次再另外一臺(tái)機(jī)器上使用這個(gè)鏡像的時(shí)候只需要從倉庫里面pull下來就可以了,。
轉(zhuǎn)載一篇對docker介紹比較好的文檔:https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html docker的整個(gè)生命周期有三部分組成:鏡像(image)+容器(container)+倉庫(repository),; 如下圖所示,容器是由鏡像實(shí)例化而來,,這和我們學(xué)習(xí)的面向?qū)ο蟮母拍钍窒嗨?,我們可以把鏡像看作類,把容器看作類實(shí)例化后的對象,。 也可以說鏡像是文件, 容器是進(jìn)程,。 容器是基于鏡像創(chuàng)建的, 即容器中的進(jìn)程依賴于鏡像中的文件, 這里的文件包括進(jìn)程運(yùn)行所需要的可執(zhí)行文件, 依賴軟件,, 庫文件,, 配置文件等等...
docker 的鏡像概念類似虛擬機(jī)的鏡像。是一個(gè)只讀的模板,,一個(gè)獨(dú)立的文件系統(tǒng),,包括運(yùn)行容器所需的數(shù)據(jù),可以用來創(chuàng)建新的容器,。( docker create <image -id > :為指定的鏡像添加一個(gè)可讀寫層,,構(gòu)成一個(gè)新的容器;) 例如:一個(gè)鏡像可以包含一個(gè)完整的ubuntu操作系統(tǒng)環(huán)境,,里面僅安裝了mysql或用戶需要的其他應(yīng)用程序,。 docker鏡像實(shí)際上是由一層一層的系統(tǒng)文件組成,這種層級(jí)的文件系統(tǒng)被稱為UnionFS( Union file system 統(tǒng)一文件系統(tǒng)),,鏡像可以基于dockerfile構(gòu)建,,dockerfile是一個(gè)描述文件,里面包含了若干條密令,,每條命令都會(huì)對基礎(chǔ)文件系統(tǒng)創(chuàng)建新的層次結(jié)構(gòu),。 docker提供了一個(gè)很簡單的機(jī)制來創(chuàng)建鏡像或更新現(xiàn)有的鏡像。用戶甚至可以從其他人那里下載一個(gè)已經(jīng)做好的鏡像直接使用,。(鏡像是只讀的,可以理解為靜態(tài)文件) docker利用容器來運(yùn)行應(yīng)用:docker容器是由docker鏡像創(chuàng)建的運(yùn)行實(shí)例,。docker容器類似虛擬機(jī),,可以執(zhí)行包含啟動(dòng),,停止,刪除等,。每個(gè)容器間是相互隔離的,。容器中會(huì)運(yùn)行特定的運(yùn)用,包含特定應(yīng)用的代碼及所需的依賴文件,??梢园讶萜骺醋饕粋€(gè)簡易版的linux環(huán)境(包含root用戶權(quán)限,進(jìn)程空間,,用戶空間和網(wǎng)絡(luò)空間等)和運(yùn)行在其中的應(yīng)用程序,。 相對于鏡像來說容器是動(dòng)態(tài)的,容器在啟動(dòng)的時(shí)候創(chuàng)建了一層可寫層次作為最上層,。( docker create <image -id > :為指定的鏡像添加一個(gè)可讀寫層,,構(gòu)成一個(gè)新的容器;) docker倉庫:如果使用了git和github就很容易理解docker的倉庫概念,。docker倉庫概念和git類似,。 docker倉庫是用來包含鏡像的位置,docker提供了一個(gè)注冊服務(wù)器(register)來保存多個(gè)倉庫,,每個(gè)倉庫又可以包含多個(gè)具備不同tag的鏡像,, docker運(yùn)作中使用的默認(rèn)倉庫是docker hub公共倉庫。 倉庫支持的操作類似git,,當(dāng)用戶創(chuàng)建了自己的鏡像之后就可以使用push命令將它上傳到共有或者私有的倉庫,。這樣下次再另外一臺(tái)機(jī)器上使用這個(gè)鏡像的時(shí)候只需要從倉庫里面pull下來就可以了。
轉(zhuǎn)載一篇對docker介紹比較好的文檔:https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html |
|