新聞中心
大家好,今天小編關(guān)注到一個比較有意思的話題,就是關(guān)于怎么理解docker 容器鏡像的問題,于是小編就整理了3個相關(guān)介紹為您解答,讓我們一起看看吧。

從策劃到設計制作,每一步都追求做到細膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設計、域名申請、虛擬主機、網(wǎng)絡營銷、VI設計、 網(wǎng)站改版、漏洞修補等服務。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。
docker屬于什么類型?
Docker是一個C/S類型的架構(gòu),一般來說,用戶通過clinent端進行相應操作,然后對應操作指令會傳遞到server端,然后交由server端的Docker daemon處理。
Docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的 Linux或Windows 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
Docker images 即Docker鏡像。
鏡像一般是只讀模板,用戶不可以直接對齊進行寫入操作,使用鏡像可以很輕松地創(chuàng)建容器。
1.1傳統(tǒng)的鏡像概念:包含了操作系統(tǒng)的安裝包。
1.2Docker鏡像:并不會獨立包含一個完整的操作系統(tǒng),并且鏡像中擁有對應的開發(fā)與運行環(huán)境。
1.3Dokcer鏡像如何獲?。韩@取別人已經(jīng)做好的Docker鏡像。
docker鏡像加速原理?
docker鏡像加速的原理:因為Docker鏡像是分層的,因此在加載一個鏡像的時候,會按照從底層到高層的順序依次加載該鏡像所需要的鏡像層。在加載的過程中,如果當前鏡像層已經(jīng)存在,則會跳過當前鏡像層。比如:已經(jīng)下載過MySQL鏡像,現(xiàn)在要下載Tomcat鏡像,而這兩個鏡像都需要CentOS鏡像層,那么下載Tomcat鏡像的時候,就會跳過下載CentOS鏡像層。
Docker鏡像實際上是由一層一層文件系統(tǒng)組成,這種層級文件系統(tǒng)就是UnionFS
當用docker run啟動這個容器時,實際上在鏡像的頂部添加了一個新的可寫層。這個可寫層也叫容器層。
這里我們通過案例來證明一下,這是我本地已經(jīng)下載好的鏡像包,大家可以看到centos這個鏡像包的大小才209M,平時我們安裝的虛擬機上的centos都是幾個G,這個里為什么200M就可以?這里我們的centos鏡像文件只是一個最精簡的rootfs版本,與底層系統(tǒng)共用了kernel,所以才200M就可以將一個centos跑起來,對于不同發(fā)行版本可能這個大小會略微有所不同。
docker為什么可以拉取鏡像?
Docker能夠拉取鏡像是由Docker的架構(gòu)所決定的。Docker采用了客戶端-服務器模式的架構(gòu),服務器端為Docker守護進程,客戶端則提供了Docker的命令行接口。Docker鏡像存儲在Docker Hub或私有的鏡像倉庫中,用戶可以利用客戶端的命令行接口來與Docker Hub或私有的鏡像倉庫進行交互。
當用戶使用`docker pull`命令來拉取鏡像時,客戶端會向Docker Hub或私有的鏡像倉庫發(fā)出請求,請求的內(nèi)容包括鏡像的標簽和版本號等信息。Docker Hub或私有的鏡像倉庫根據(jù)請求信息找到對應的鏡像,然后將鏡像的分層存儲結(jié)構(gòu)以及相應的元數(shù)據(jù)傳輸給客戶端。最終,客戶端會將這些內(nèi)容保存到本地的文件系統(tǒng)中,形成一個鏡像對象,用戶就可以在這個鏡像對象的基礎(chǔ)上創(chuàng)建容器了。
總的來說,Docker能夠拉取鏡像是因為它具有良好的架構(gòu)和底層實現(xiàn),使得用戶可以方便地通過命令行接口與Docker Hub或私有的鏡像倉庫進行交互,從而實現(xiàn)鏡像的拉取。
到此,以上就是小編對于docker的容器和鏡像的問題就介紹到這了,希望這3點解答對大家有用。
分享標題:docker的容器和鏡像(docker鏡像加速原理?)
瀏覽地址:http://www.dlmjj.cn/article/dpjoipe.html


咨詢
建站咨詢
