最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker初識(shí)之五分鐘認(rèn)識(shí)docker

 更新時(shí)間:2016年10月27日 09:34:32   投稿:mrr  
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴(lài)包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。通過(guò)本文學(xué)習(xí)可以快速了解docker,本文介紹的非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看看吧

什么是docker?

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

把他想象成一個(gè)用了一種新穎方式實(shí)現(xiàn)的超輕量虛擬機(jī),在大概效果上也是正確的。當(dāng)然在實(shí)現(xiàn)的原理和應(yīng)用上還是和VM有巨大差別的,并且專(zhuān)業(yè)的叫法是應(yīng)用容器(Application Container)。

為啥要用docker?

那么應(yīng)用容器長(zhǎng)什么樣子呢,一個(gè)做好的應(yīng)用容器長(zhǎng)得就好像一個(gè)裝好了一組特定應(yīng)用的虛擬機(jī)一樣。比如我現(xiàn)在想用MySQL那我就找個(gè)裝好MySQL的容器,運(yùn)行起來(lái),那么我就可以使用 MySQL了。

那么我直接裝個(gè) MySQL不就好了,何必還需要這個(gè)容器這么詭異的概念?話(huà)是這么說(shuō),可是你要真裝MySQL的話(huà)可能要再裝一堆依賴(lài)庫(kù),根據(jù)你的操作系統(tǒng)平臺(tái)和版本進(jìn)行設(shè)置,有時(shí)候還要從源代碼編譯報(bào)出一堆莫名其妙的錯(cuò)誤,可不是這么好裝。而且萬(wàn)一你機(jī)器掛了,所有的東西都要重新來(lái),可能還要把配置在重新弄一遍。但是有了容器,你就相當(dāng)于有了一個(gè)可以運(yùn)行起來(lái)的虛擬機(jī),只要你能運(yùn)行容器,MySQL的配置就全省了。而且一旦你想換臺(tái)機(jī)器,直接把這個(gè)容器端起來(lái),再放到另一個(gè)機(jī)器就好了。硬件,操作系統(tǒng),運(yùn)行環(huán)境什么的都不需要考慮了。

在公司中的一個(gè)很大的用途就是可以保證線(xiàn)下的開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境和線(xiàn)上的生產(chǎn)環(huán)境一致。當(dāng)年在***經(jīng)常碰到這樣的事情,開(kāi)發(fā)把東西做好了給測(cè)試去測(cè),一般會(huì)給一坨代碼和一個(gè)介紹上線(xiàn)步驟的上線(xiàn)單。結(jié)果代碼在測(cè)試機(jī)跑不起來(lái),開(kāi)發(fā)就跑來(lái)跑去看問(wèn)題,一會(huì)兒啊這個(gè)配置文件忘了提交了,一會(huì)兒啊這個(gè)上線(xiàn)命令寫(xiě)錯(cuò)了。找到了一個(gè) bug 提上去,開(kāi)發(fā)一看,啊我怎么又忘了把這個(gè)命令寫(xiě)在上線(xiàn)單上了。類(lèi)似的事情在上線(xiàn)的時(shí)候還會(huì)發(fā)生,變成啊你這個(gè)軟件的版本和我機(jī)器上的不一樣……在 ***的時(shí)候,由于一個(gè)開(kāi)發(fā)直接擔(dān)任上述三個(gè)職位,而且有一套自動(dòng)化部署的機(jī)制所以問(wèn)題會(huì)少一點(diǎn),但是上線(xiàn)的時(shí)候大家還是膽戰(zhàn)心驚。

若果利用容器的話(huà),那么開(kāi)發(fā)直接在容器里開(kāi)發(fā),提測(cè)的時(shí)候把整個(gè)容器給測(cè)試,測(cè)好了把改動(dòng)改在容器里再上線(xiàn)就好了。通過(guò)容器,整個(gè)開(kāi)發(fā)、測(cè)試和生產(chǎn)環(huán)境可以保持高度的一致。

此外容器也和VM一樣具有著一定的隔離性,各個(gè)容器之間的數(shù)據(jù)和內(nèi)存空間相互隔離,可以保證一定的安全性。

docker在很大程度上可以解決的問(wèn)題

軟件更新發(fā)布低效

業(yè)務(wù)無(wú)法敏捷

環(huán)境一致性,難于保證

不同環(huán)境之間遷移成本太高

軟件開(kāi)發(fā)商,交付實(shí)施周期長(zhǎng)—-成本高

那為啥不用VM?

那么既然容器和 VM 這么類(lèi)似為啥不直接用 VM 還要整出個(gè)容器這么個(gè)概念來(lái)呢?Docker 容器相對(duì)于 VM 有以下幾個(gè)優(yōu)點(diǎn):

啟動(dòng)速度快,容器通常在一秒內(nèi)可以啟動(dòng),而 VM 通常要更久
資源利用率高,一臺(tái)普通 PC 可以跑上千個(gè)容器,你跑上千個(gè) VM 試試
性能開(kāi)銷(xiāo)小, VM 通常需要額外的 CPU 和內(nèi)存來(lái)完成 OS 的功能,這一部分占據(jù)了額外的資源
為啥相似的功能在性能上會(huì)有如此巨大的差距呢,其實(shí)這和他們的設(shè)計(jì)的理念是相關(guān)的。 VM 的設(shè)計(jì)圖如下:

VM 的 Hypervisor 需要實(shí)現(xiàn)對(duì)硬件的虛擬化,并且還要搭載自己的操作系統(tǒng),自然在啟動(dòng)速度和資源利用率以及性能上有比較大的開(kāi)銷(xiāo)。而 Docker 的設(shè)計(jì)圖是這樣的:

Docker 幾乎就沒(méi)有什么虛擬化的東西,并且直接復(fù)用了 Host 主機(jī)的 OS,在 Docker Engine 層面實(shí)現(xiàn)了調(diào)度和隔離重量一下子就降低了好幾個(gè)檔次。 Docker 的容器利用了 lxc,管理利用了 namespaces 來(lái)做權(quán)限的控制和隔離, cgroups 來(lái)進(jìn)行資源的配置,并且還通過(guò) aufs 來(lái)進(jìn)一步提高文件系統(tǒng)的資源利用率。

其中的 aufs 是個(gè)很有意思的東西,是 UnionFS 的一種。他的思想和 git 有些類(lèi)似,可以把對(duì)文件系統(tǒng)的改動(dòng)當(dāng)成一次 commit 一層層的疊加。這樣的話(huà)多個(gè)容器之間就可以共享他們的文件系統(tǒng)層次,每個(gè)容器下面都是共享的文件系統(tǒng)層次,上面再是各自對(duì)文件系統(tǒng)改動(dòng)的層次,這樣的話(huà)極大的節(jié)省了對(duì)存儲(chǔ)的需求,并且也能加速容器的啟動(dòng)。

以上所述是小編給大家介紹的docker初識(shí)之五分鐘認(rèn)識(shí)docker,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Docker搭建Gogs的實(shí)現(xiàn)步驟

    Docker搭建Gogs的實(shí)現(xiàn)步驟

    本文主要介紹了Docker搭建Gogs的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • docker常用容器啟動(dòng)docker-compose.yml配置文件使用

    docker常用容器啟動(dòng)docker-compose.yml配置文件使用

    這篇文章主要介紹了docker常用容器啟動(dòng)docker-compose.yml配置文件使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • docker環(huán)境變量配置不生效/ect/profile的解決方法

    docker環(huán)境變量配置不生效/ect/profile的解決方法

    docker在使用過(guò)程中,有時(shí)候自定義容器實(shí)例中的某些配置文件,本文主要介紹了docker環(huán)境變量配置不生效/ect/profile的解決方法,感興趣的可以了解一下
    2023-08-08
  • rocketmq-streams的ILeaseService使用示例詳解

    rocketmq-streams的ILeaseService使用示例詳解

    這篇文章主要為大家介紹了rocketmq-streams的ILeaseService使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Spring Boot Docker打包工具小結(jié)

    Spring Boot Docker打包工具小結(jié)

    本文對(duì)幾種常見(jiàn)的Spring Boot Docker打包工具進(jìn)行了簡(jiǎn)單總結(jié),感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Linux搭建Docker環(huán)境的詳細(xì)過(guò)程(最新推薦)

    Linux搭建Docker環(huán)境的詳細(xì)過(guò)程(最新推薦)

    Docker從17.03版本之后分為CE(Community Edition: 社區(qū)版)和EE(Enterprise Edition: 企業(yè)版),相對(duì)于社區(qū)版本,企業(yè)版本強(qiáng)調(diào)安全性,但需付費(fèi)使用,這里我們使用社區(qū)版本即可,這篇文章給大家介紹Linux搭建Docker環(huán)境的詳細(xì)過(guò)程,感興趣的朋友一起看看吧
    2025-04-04
  • 如何使用docker部署Dashdot工具箱

    如何使用docker部署Dashdot工具箱

    dashdot是一個(gè)簡(jiǎn)潔清晰的服務(wù)器數(shù)據(jù)儀表板,基于React實(shí)現(xiàn) ,主要是顯示操作系統(tǒng)、進(jìn)程、存儲(chǔ)、內(nèi)存、網(wǎng)絡(luò)這五個(gè)的數(shù)據(jù),這篇文章主要介紹了如何使用docker部署Dashdot工具箱,需要的朋友可以參考下
    2024-02-02
  • 最新評(píng)論

    晋中市| 贺州市| 宣恩县| 霍邱县| 丹巴县| 永平县| 莫力| 抚远县| 泰顺县| 中阳县| 西盟| 同心县| 错那县| 时尚| 南溪县| 会昌县| 稷山县| 清涧县| 田林县| 石台县| 扎囊县| 莱阳市| 庆元县| 仁怀市| 望城县| 康乐县| 栖霞市| 白水县| 岳阳市| 东城区| 内江市| 同江市| 京山县| 肥乡县| 铜鼓县| 禄劝| 龙海市| 和静县| 泗洪县| 怀集县| 富宁县|