国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Docker究竟是什么 為什么這么流行 它的優(yōu)點(diǎn)和缺陷有哪些?

瀏覽:29日期:2024-11-22 09:28:35

Docker是什么?

簡(jiǎn)單得來(lái)說(shuō),Docker是一個(gè)由GO語(yǔ)言寫的程序運(yùn)行的“容器”(Linux containers, LXCs); 目前云服務(wù)的基石是操作系統(tǒng)級(jí)別的隔離,在同一臺(tái)物理服務(wù)器上虛擬出多個(gè)主機(jī)。Docker則實(shí)現(xiàn)了一種應(yīng)用程序級(jí)別的隔離; 它改變我們基本的開發(fā)、操作單元,由直接操作虛擬主機(jī)(VM),轉(zhuǎn)換到操作程序運(yùn)行的“容器”上來(lái)。

Docker是為開發(fā)者和系統(tǒng)管理員設(shè)計(jì)的,用來(lái)發(fā)布和運(yùn)行分布式應(yīng)用程序的一個(gè)開放性平臺(tái)。由兩部分組成:

Docker Engine: 一個(gè)便攜式、輕量級(jí)的運(yùn)行環(huán)境和包管理器。(注* 單OS vs 單線程,是不是跟NodeJS特別像?)

Docker Hub: 為創(chuàng)建自動(dòng)化工作流和分享應(yīng)用創(chuàng)建的云服務(wù)組成。(注* 云端鏡像/包管理 vs npm包管理,是不是跟npm特別像?)

從2013年3月20日,第一個(gè)版本的Docker正式發(fā)布到 2014年6月 Docker 1.0 正式發(fā)布,經(jīng)歷了15個(gè)月。 雖然發(fā)展歷程很短,但Docker正在有越來(lái)越流行的趨勢(shì)。

其實(shí)Container技術(shù)并非Docker的創(chuàng)新,HeroKu, NodeJitsu 等云服務(wù)商都采用了類似這種輕量級(jí)的虛擬化技術(shù),但Docker是第一個(gè)將這這種Container技術(shù)大規(guī)模開源并被社區(qū)廣泛接受的。

Docker究竟是什么 為什么這么流行 它的優(yōu)點(diǎn)和缺陷有哪些?

 好的部分

Docker相對(duì)于VM虛擬機(jī)的優(yōu)勢(shì)十分明顯,那就是輕量和高性能和便捷性, 以下部分摘自: KVM and Docker LXC Benchmarking with OpenStack

運(yùn)行時(shí)的性能可以獲取極大提升(經(jīng)典的案例是提升97%)

管理操作(啟動(dòng),停止,開始,重啟等等) 都是以秒或毫秒為單位的。

敏捷

像虛擬機(jī)一樣敏捷,而且會(huì)更便宜,在bare metal(裸機(jī))上布署像點(diǎn)個(gè)按鈕一樣簡(jiǎn)單。

靈活

將應(yīng)用和系統(tǒng)“容器化”,不添加額外的操作系統(tǒng),

輕量

你會(huì)擁有足夠的“操作系統(tǒng)”,僅需添加或減小鏡像即可。在一臺(tái)服務(wù)器上可以布署100~1000個(gè)Containers容器。

便宜

開源的,免費(fèi)的,低成本的。由現(xiàn)代Linux內(nèi)核支持并驅(qū)動(dòng)。注* 輕量的Container必定可以在一個(gè)物理機(jī)上開啟更多“容器”,注定比VMs要便宜。

生態(tài)系統(tǒng)

正在越來(lái)越受歡迎,只需要看一看Google的趨勢(shì)就知道了, docker or LXC.

還有不計(jì)其數(shù)的社區(qū)和第三方應(yīng)用。

云支持

不計(jì)其數(shù)的云服務(wù)提供創(chuàng)建和管理Linux容器框架。

有關(guān)Docker性能方面的優(yōu)勢(shì),還可參考此IBM工程師對(duì)性能提升的評(píng)測(cè),從各個(gè)方面比VMs(OS系統(tǒng)級(jí)別虛擬化)都有非常大的提升。

Performance Characteristics of VMs vs Docker Containers by Boden Russel (IBM)

Performance characteristics of traditional v ms vs docker containers

 有爭(zhēng)論的部分

任何項(xiàng)目都會(huì)有爭(zhēng)論,就像Go,像NodeJS, 同樣Docker也有一些。

能否徹底隔離

在超復(fù)雜的業(yè)務(wù)系統(tǒng)中,單OS到底能不能實(shí)現(xiàn)徹底隔離,一個(gè)程序的崩潰/內(nèi)存溢出/高CPU占用到底會(huì)不會(huì)影響到其他容器或者整個(gè)系統(tǒng)?很多人對(duì)Docker能否在實(shí)際的多主機(jī)的生產(chǎn)環(huán)境中支持關(guān)鍵任務(wù)系統(tǒng)還有所懷疑。 注* 就像有人質(zhì)疑Node.JS單線程快而不穩(wěn),無(wú)法在復(fù)雜場(chǎng)景中應(yīng)用一樣。

不過可喜的是,目前Linux內(nèi)核已經(jīng)針對(duì)Container做了很多改進(jìn),以支持更好的隔離。

GO語(yǔ)言還沒有完全成熟

Docker由Go語(yǔ)言開發(fā),但GO語(yǔ)言對(duì)大多數(shù)開發(fā)者來(lái)說(shuō)比較陌生,而且還在不斷改進(jìn),距離成熟還有一段時(shí)間。此半git、半包管理的方式讓一些人產(chǎn)生不適。

被私有公司控制

Docker是一家叫Dotcloud的私有公司設(shè)計(jì)的,公司都是以營(yíng)利為目的,比如你沒有辦法使用源代碼編繹Docker項(xiàng)目,只能使用黑匣子編出的Docker二進(jìn)制發(fā)行包,未來(lái)可能不是完全免費(fèi)的。 目前Docker已經(jīng)推出面向公司的企業(yè)級(jí)服務(wù)(咨詢、支持和培訓(xùn))。

標(biāo)簽: Docker
相關(guān)文章:
主站蜘蛛池模板: 泸定县| 南京市| 什邡市| 东阳市| 武定县| 宁晋县| 蓝田县| 康乐县| 科尔| 木里| 秀山| 广安市| 黄梅县| 于都县| 射阳县| 余庆县| 龙泉市| 新巴尔虎右旗| 大埔县| 灵寿县| 商河县| 加查县| 通化县| 九龙城区| 南通市| 吉林省| 武城县| 万安县| 喀喇沁旗| 阿巴嘎旗| 精河县| 子洲县| 蓬安县| 旌德县| 黔西| 平和县| 岑巩县| 海晏县| 大庆市| 闵行区| 西平县|