久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 什么是 Docker、鏡像、編排?

        什么是 Docker、鏡像、編排?

        來(lái)源:千鋒教育
        發(fā)布人:xqq
        時(shí)間: 2023-10-13 09:35:29 1697160929

        一、什么是 Docker、鏡像、編排

        Docker是一種容器技術(shù),允許開(kāi)發(fā)人員將應(yīng)用程序與相關(guān)的依賴關(guān)系打包在一起以形成可移植的鏡像,并通過(guò)容器來(lái)部署這些鏡像。

        鏡像是一個(gè)只讀的模板,用于創(chuàng)建Docker 容器。鏡像是由操作系統(tǒng)、應(yīng)用程序和其他相關(guān)依賴項(xiàng)打包而成,在Docker中使用多層文件系統(tǒng)來(lái)存儲(chǔ),并且鏡像之間可以通過(guò)共享層文件來(lái)提高效率。Docker鏡像是由一系列的層組成的,每一層都是對(duì)上一層的增量修改。每一層都有一個(gè)少數(shù)的ID,可以通過(guò)加密哈希算法或者隨機(jī)數(shù)生成。docker鏡像的所有層都是只讀的,不能被修改,只能通過(guò)創(chuàng)建新的層來(lái)改變。Docker容器是基于Docker鏡像運(yùn)行的實(shí)例,它在鏡像的最上面添加了一個(gè)可讀寫(xiě)的容器層。容器層保存了容器運(yùn)行時(shí)的所有數(shù)據(jù)變化,如新建文件,修改文件等。刪除容器后,容器層也會(huì)被刪除,而基礎(chǔ)鏡像則保持不變。Docker使用了棧式層管理和寫(xiě)時(shí)復(fù)制的技術(shù)來(lái)實(shí)現(xiàn)鏡像和容器的存儲(chǔ)。棧式層管理是指每一層都是從下往上,以棧的方式組合在一起,組成鏡像或者容器的根文件系統(tǒng)。寫(xiě)時(shí)復(fù)制是指當(dāng)需要修改某一層的數(shù)據(jù)時(shí),不直接修改原始數(shù)據(jù),而是將修改后的數(shù)據(jù)保存在一個(gè)新的層中。這樣可以提高效率和安全性,也可以實(shí)現(xiàn)鏡像層之間的共享。

        編排是 Docker 容器中的一個(gè)重要概念,它是一種將多個(gè)容器組織在一起以形成分布式應(yīng)用程序的技術(shù)。在 Docker 中,編排描述了容器如何協(xié)同工作以支持應(yīng)用程序。例如,可以通過(guò) Docker Compose 工具來(lái)定義和運(yùn)行多個(gè)容器,使它們能夠相互通信以實(shí)現(xiàn)應(yīng)用程序的功能。Docker編排通常包括以下方面:

        容器編排:為多個(gè)容器指定數(shù)量、配置和啟動(dòng)順序,并保證它們之間的關(guān)系。網(wǎng)絡(luò)編排:將容器組建成一個(gè)網(wǎng)絡(luò),并配置容器之間的通信策略。存儲(chǔ)編排:為容器配置卷(volume)或者本地主機(jī)的文件目錄,并關(guān)聯(lián)到不同的容器中。

        二、Docker詳細(xì)介紹

        1、簡(jiǎn)介

        Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux或Windows操作系統(tǒng)的機(jī)器上,也可以實(shí)現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。一個(gè)完整的Docker有以下幾個(gè)部分組成:

        DockerClient客戶端Docker Daemon守護(hù)進(jìn)程Docker Image鏡像DockerContainer容器

        2、起源

        Docker 是?PaaS?提供商 dotCloud 開(kāi)源的一個(gè)基于?LXC?的高級(jí)容器引擎,源代碼托管在?Github?上,基于go語(yǔ)言并遵從Apache2.0協(xié)議開(kāi)源。

        Docker自2013年以來(lái)非常火熱,無(wú)論是從 github 上的代碼活躍度,還是Redhat在RHEL6.5中集成對(duì)Docker的支持,就連?Google?的 Compute Engine 也支持 docker 在其之上運(yùn)行。

        一款開(kāi)源軟件能否在商業(yè)上成功,很大程度上依賴三件事——成功的 user case(用例),活躍的社區(qū)和一個(gè)好故事。 dotCloud 之家的 PaaS 產(chǎn)品建立在docker之上,長(zhǎng)期維護(hù)且有大量的用戶,社區(qū)也十分活躍,接下看看docker的故事。

        環(huán)境管理復(fù)雜:從各種OS到各種中間件到各種app,一款產(chǎn)品能夠成功作為開(kāi)發(fā)者需要關(guān)心的東西太多,且難于管理,這個(gè)問(wèn)題幾乎在所有現(xiàn)代IT相關(guān)行業(yè)都需要面對(duì)。云計(jì)算時(shí)代的到來(lái):AWS的成功,引導(dǎo)開(kāi)發(fā)者將應(yīng)用轉(zhuǎn)移到 cloud 上,解決了硬件管理的問(wèn)題,然而中間件相關(guān)的問(wèn)題依然存在(所以openstack HEAT和 AWS cloudformation 都著力解決這個(gè)問(wèn)題)。開(kāi)發(fā)者思路變化提供了可能性。虛擬化手段的變化:cloud 時(shí)代采用標(biāo)配硬件來(lái)降低成本,采用虛擬化手段來(lái)滿足用戶按需使用的需求以及保證可用性和隔離性。然而無(wú)論是KVM還是Xen在 docker 看來(lái),都在浪費(fèi)資源,因?yàn)橛脩粜枰氖歉咝н\(yùn)行環(huán)境而非OS,GuestOS既浪費(fèi)資源又難于管理,更加輕量級(jí)的LXC更加靈活和快速。LXC的移動(dòng)性:LXC在 linux 2.6 的 kernel 里就已經(jīng)存在了,但是其設(shè)計(jì)之初并非為云計(jì)算考慮的,缺少標(biāo)準(zhǔn)化的描述手段和容器的可遷移性,決定其構(gòu)建出的環(huán)境難于遷移和標(biāo)準(zhǔn)化管理(相對(duì)于KVM之類(lèi)image和snapshot的概念)。docker 就在這個(gè)問(wèn)題上做出實(shí)質(zhì)性的革新。這是docker最獨(dú)特的地方。

        面對(duì)上述幾個(gè)問(wèn)題,docker設(shè)想是交付運(yùn)行環(huán)境如同海運(yùn),OS如同一個(gè)貨輪,每一個(gè)在OS基礎(chǔ)上的軟件都如同一個(gè)集裝箱,用戶可以通過(guò)標(biāo)準(zhǔn)化手段自由組裝運(yùn)行環(huán)境,同時(shí)集裝箱的內(nèi)容可以由用戶自定義,也可以由專(zhuān)業(yè)人員制造。這樣,交付一個(gè)軟件,就是一系列標(biāo)準(zhǔn)化組件的集合的交付,如同樂(lè)高積木,用戶只需要選擇合適的積木組合,并且在最頂端署上自己的名字(最后一個(gè)標(biāo)準(zhǔn)化組件是用戶的app)。這也就是基于docker的PaaS產(chǎn)品的原型。

        3、特性

        在docker的網(wǎng)站上提到了docker的典型場(chǎng)景:

        Automating the packaging and deployment of applications(使應(yīng)用的打包與部署自動(dòng)化)Creation of lightweight, private PAAS environments(創(chuàng)建輕量、私密的PAAS環(huán)境)Automated testing and continuous integration/deployment(實(shí)現(xiàn)自動(dòng)化測(cè)試和持續(xù)的集成/部署)Deploying and scaling web apps, databases and backend services(部署與擴(kuò)展webapp、數(shù)據(jù)庫(kù)和后臺(tái)服務(wù))

        由于其基于LXC的輕量級(jí)虛擬化的特點(diǎn),docker相比KVM之類(lèi)最明顯的特點(diǎn)就是啟動(dòng)快,資源占用小。因此對(duì)于構(gòu)建隔離的標(biāo)準(zhǔn)化的運(yùn)行環(huán)境,輕量級(jí)的PaaS(如dokku),構(gòu)建自動(dòng)化測(cè)試和持續(xù)集成環(huán)境,以及一切可以橫向擴(kuò)展的應(yīng)用(尤其是需要快速啟停來(lái)應(yīng)對(duì)峰谷的web應(yīng)用)。

        構(gòu)建標(biāo)準(zhǔn)化的運(yùn)行環(huán)境,現(xiàn)有的方案大多是在一個(gè)baseOS上運(yùn)行一套puppet/chef,或者一個(gè)image文件,其缺點(diǎn)是前者需要base OS許多前提條件,后者幾乎不可以修改(因?yàn)閏opy on write 的文件格式在運(yùn)行時(shí)rootfs是read only的)。并且后者文件體積大,環(huán)境管理和版本控制本身也是一個(gè)問(wèn)題PaaS環(huán)境是不言而喻的,其設(shè)計(jì)之初和dotcloud的案例都是將其作為PaaS產(chǎn)品的環(huán)境基礎(chǔ)因?yàn)槠錁?biāo)準(zhǔn)化構(gòu)建方法(buildfile)和良好的REST API,自動(dòng)化測(cè)試和持續(xù)集成/部署能夠很好的集成進(jìn)來(lái)因?yàn)長(zhǎng)XC輕量級(jí)的特點(diǎn),其啟動(dòng)快,而且docker能夠只加載每個(gè)container變化的部分,這樣資源占用小,能夠在單機(jī)環(huán)境下與KVM之類(lèi)的虛擬化方案相比能夠更加快速和占用更少資源

        4、局限

        Docker并不是全能的,設(shè)計(jì)之初也不是KVM之類(lèi)虛擬化手段的替代品,簡(jiǎn)單總結(jié)幾點(diǎn):

        Docker是基于Linux 64bit的,無(wú)法在32bit的linux/Windows/unix環(huán)境下使用LXC是基于cgroup等linux kernel功能的,因此container的guest系統(tǒng)只能是linux base的隔離性相比KVM之類(lèi)的虛擬化方案還是有些欠缺,所有container公用一部分的運(yùn)行庫(kù)網(wǎng)絡(luò)管理相對(duì)簡(jiǎn)單,主要是基于namespace隔離cgroup的cpu和cpuset提供的cpu功能相比KVM的等虛擬化方案相比難以度量(所以dotcloud主要是按內(nèi)存收費(fèi))Docker對(duì)disk的管理比較有限container隨著用戶進(jìn)程的停止而銷(xiāo)毀,container中的log等用戶數(shù)據(jù)不便收集

        5、原理

        Docker核心解決的問(wèn)題是利用LXC來(lái)實(shí)現(xiàn)類(lèi)似VM的功能,從而利用更加節(jié)省的硬件資源提供給用戶更多的計(jì)算資源。同VM的方式不同,LXC?其并不是一套硬件虛擬化方法——無(wú)法歸屬到全虛擬化、部分虛擬化和半虛擬化中的任意一個(gè),而是一個(gè)操作系統(tǒng)級(jí)虛擬化方法,理解起來(lái)可能并不像VM那樣直觀。所以可以從虛擬化到docker要解決的問(wèn)題出發(fā),看看docker是怎么滿足用戶虛擬化需求的。用戶需要考慮虛擬化方法,尤其是硬件虛擬化方法,需要借助其解決的主要是以下4個(gè)問(wèn)題:

        隔離性:每個(gè)用戶實(shí)例之間相互隔離,互不影響。 硬件虛擬化方法給出的方法是VM,LXC給出的方法是container,更細(xì)一點(diǎn)是kernel namespace可配額/可度量:每個(gè)用戶實(shí)例可以按需提供其計(jì)算資源,所使用的資源可以被計(jì)量。硬件虛擬化方法因?yàn)樘摂M了CPU,memory可以方便實(shí)現(xiàn),LXC則主要是利用cgroups來(lái)控制資源移動(dòng)性:用戶的實(shí)例可以很方便地復(fù)制、移動(dòng)和重建。硬件虛擬化方法提供snapshot和image來(lái)實(shí)現(xiàn),docker(主要)利用AUFS實(shí)現(xiàn)安全性:這個(gè)話題比較大,這里強(qiáng)調(diào)是host主機(jī)的角度盡量保護(hù)container。硬件虛擬化的方法因?yàn)樘摂M化的水平比較高,用戶進(jìn)程都是在KVM等虛擬機(jī)容器中翻譯運(yùn)行的,然而對(duì)于LXC,用戶的進(jìn)程是lxc-start進(jìn)程的子進(jìn)程,只是在Kernel的namespace中隔離的,因此需要一些kernel的patch來(lái)保證用戶的運(yùn)行環(huán)境不會(huì)受到來(lái)自host主機(jī)的惡意入侵,dotcloud(主要是)利用kernel grsec patch解決的

        延伸閱讀1:Docker安全中心

        在新的功能中有硬件的部分,可以 跨任何基礎(chǔ)架構(gòu),允許開(kāi)發(fā)和隨后的升級(jí)中的數(shù)字編碼簽名。構(gòu)建在Docker Trust框架之上用來(lái)進(jìn)行鏡像發(fā)布者認(rèn)證,同時(shí)進(jìn)行新的鏡像掃描和官方漏洞檢測(cè),以便能夠更好地理解容器內(nèi)部是什么。命名空間是本周發(fā)布的另外一個(gè)Docker安全升級(jí)。允許IT運(yùn)用來(lái)為基于用戶群組的容器指派授權(quán),約束了主機(jī)的訪問(wèn)根源,并指定了系統(tǒng)管理員,限制了群組對(duì)于指定服務(wù)的訪問(wèn)。鏡像掃描對(duì)于Docker Hub上的所有官方版本都可用,同時(shí)命名空間和硬件簽名則在Docker的實(shí)驗(yàn)渠道提供。安全問(wèn)題仍舊是容器采納要解決的最大問(wèn)題,尤其是如果大量容器是便攜的,IDC研究經(jīng)理Larry Carvalho說(shuō)道。通過(guò)硬件解決這個(gè)問(wèn)題很明智,因?yàn)檫@樣更難以介入,并且提供了未來(lái)可能被使用的大量容器的效率。

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        Access數(shù)據(jù)庫(kù)怎樣免費(fèi)下載?

        一、Access數(shù)據(jù)庫(kù)免費(fèi)下載的方法1、Microsoft官方網(wǎng)站訪問(wèn)Microsoft官方網(wǎng)站,進(jìn)入”O(jiān)ffice”或”Access”的頁(yè)面。Microsoft通常提供試用版本或...詳情>>

        2023-10-13 11:29:41
        千萬(wàn)級(jí)用戶的實(shí)時(shí)問(wèn)答網(wǎng)站用什么語(yǔ)言,數(shù)據(jù)庫(kù)和服務(wù)器有什么要求?

        一、千萬(wàn)級(jí)用戶的實(shí)時(shí)問(wèn)答網(wǎng)站用什么語(yǔ)言,數(shù)據(jù)庫(kù)和服務(wù)器有什么要求語(yǔ)言方面,可以選擇像 Java、Python、Go 等支持高并發(fā)的編程語(yǔ)言。其中,Ja...詳情>>

        2023-10-13 11:20:16
        Ecoinvent數(shù)據(jù)庫(kù)中,Cut-off、Conseq和APOS三種類(lèi)型的數(shù)據(jù)使用區(qū)別在哪兒?

        一、Ecoinvent數(shù)據(jù)庫(kù)中,Cut-off、Conseq和APOS三種類(lèi)型的數(shù)據(jù)使用區(qū)別跟系統(tǒng)邊界/分配方法有關(guān),之前看到過(guò)有人推薦使用cut-off就可以了。附以...詳情>>

        2023-10-13 11:08:36
        為什么二級(jí)封鎖協(xié)議不能保證可重復(fù)讀,一級(jí)封鎖協(xié)議不能保證可重復(fù)讀和讀臟數(shù)據(jù)?

        一、為什么二級(jí)封鎖協(xié)議不能保證可重復(fù)讀排它鎖又叫寫(xiě)鎖,事務(wù)A對(duì)數(shù)據(jù)D加了排它鎖,其它任何事務(wù)都不能再對(duì)數(shù)據(jù)D加共享鎖或者排它鎖。也就是說(shuō)A...詳情>>

        2023-10-13 11:01:05
        用access做一個(gè)數(shù)據(jù)庫(kù),用戶登錄界面,不同用戶權(quán)限不同,應(yīng)該怎么設(shè)置?

        一、用access做一個(gè)數(shù)據(jù)庫(kù),用戶登錄界面,不同用戶權(quán)限不同用access做一個(gè)數(shù)據(jù)庫(kù),用戶登錄界面,不同用戶權(quán)限不同,應(yīng)該設(shè)置三張表:用戶表,...詳情>>

        2023-10-13 10:57:31
        快速通道
        英德市| 东方市| 永顺县| 定兴县| 青神县| 同江市| 山西省| 重庆市| 类乌齐县| 崇明县| 靖江市| 临澧县| 项城市| 宁陵县| 祁阳县| 茶陵县| 双桥区| 渝北区| 涟源市| 武邑县| 高密市| 琼海市| 德庆县| 蒙阴县| 阜新市| 宁津县| 屏东县| 本溪| 钦州市| 德兴市| 望江县| 运城市| 五莲县| 辽中县| 汉寿县| 勃利县| 佳木斯市| 尉犁县| 海林市| 紫云| 德江县|