如何評價docker?

docker會不會取代傳統hypervisor型虛擬機?docker在什麼情況下會取代hadoop?


感覺Docker和hadoop不是站在同一層次上,故很難涉及替代一說。

第一個問題,是否替代hypervisor型虛擬機一說。我個人覺得應該從兩個方面來說比較合適。

第一,Docker是否會全盤接管虛擬機所做的工作,虛擬機從此退出歷史舞台?

我認為這一點不可能,原因必須從虛擬機的優勢,Docker的劣勢說起。hypervisor在於guest OS的豐富性方面,自然是Docker無法比擬的。另外關於熱遷移技術方面,容器技術也已經很有成果了,比如今年DockerCon上,Docker官方的工程師就展示了一把。最為重要的一點,我認為是隔離性方面的差異。hypervisor提供的隔離性較為完善,儘管會有性能折損,但是高隔離性即意味著安全;Docker容器的共享內核容易受內核的影響,隔離的維度還有待加強,許可權的控制也不夠徹底。

第二,Docker是否在某些方面能夠替代hypervisor虛擬機呢?

答案是肯定的。這些方面就不再是隔離,以及OS多樣性了,自然是Docker優勢,VM的劣勢了。先從比較直觀的部署來看,分散式系統原先會以虛擬機為計算單位;如今部署單位上,Docker可以替換VM,便捷,快速,節約資源。這些是Docker的容器技術所帶來的優勢。

初次之外,還有Docker的鏡像技術帶來的優勢,可以在一些場景替代虛擬機。比如開發場景,測試環境,發布環境,以前以虛擬機為單位,環境的難以統一往往是開發運維之間無法逾越的鴻溝,這方面Docker意見輕鬆解決。這方面的優點是在太多。。。

當然,此處的替換VM,不是說大環境中沒有VM了,而是說:為了實現一些功能,達到一些目標,我們不以VM作為技術載體了,而是使用Docker了。這種場景下,依然很可能是虛擬機中運行Docker。


關於docker與hypervisor的關係,想必大家都是知道,一個是傳統的虛擬技術,一個是新興的虛擬技術,docker是在hypervisor基礎上發展而來,至於會不會取代,我的回答是:需求不同體現的作用不同,兩者並不衝突,hypervisor不會很快退下舞台,docker也不會那麼快能取代hypervisor,或者不存在取代一說,兩者是共存的。

如何評價docker:docker是操作系統級虛擬化,是輕量級別虛擬化,好處歸類起來簡單的說就是:提高工作效率、節約成本、促進經濟發展,不好的地方也有,不過優勢大於劣勢,所有能火起來,docker火起來也引發了不少做docker容器的公司火起來,像精靈雲、數人云等都火起來了,docker也是一種時代進步的象徵。

至於docker在什麼情況下會取代hadoop:純屬無稽之談啦,八竿子打不著所以不存在取代之說。

嘿嘿


第二個問題無法理解。就第一個寫寫。兩個方面,一是虛擬化本身,二是集群/雲計算。

容器虛擬solaris上很早就有了,相比KVM/XEN(全虛擬化),容器虛擬最大特點是guest系統是不需要內核的。換句話說guest只是host的一個應用砂箱,藉助Linux內核的功能支持,實現各方面隔離。於是就有兩個直觀的問題:1. 不能在Linux上虛擬Linux之外的系統;2. (至少目前)無法實現熱遷移。優點則是更快速的部署和程序效率的提升。

集群這塊兒……感覺沒啥可說的。和aws一樣,不是對虛擬技術的改變,只是優化了管理。

於是第一個問題的答案就是:不會。


1. 不會。

hypervisor實現了硬體資源的分割以及標準化。docker實現了workload的標準化。它們之間不是替代關係而是互相支持關係。

試想做雲服務的提供商,母雞都是xx核xxG內存的,但是採購的用戶不可能每個都需要那麼多計算資源,所以需要用hypervisor把硬體資源切割後分別出售給不同的客戶。

docker對虛擬機的替代主要體現軟體分發上,以前是用一個虛擬機鏡像分發的軟體,現在可以直接用docker進行分發。空間佔用更小,還可以增量升級。在分發這個領域用docker明顯有優勢。

2.不會。

docker跟hadoop完全是不相關兩件事。唯一的聯繫就是hadoop可以跑在docker上面。


hypervisor與VMWare相類似,用於解決操作系統的虛擬化; docker與CF類似,用於解決軟體部署問題; 而hadoop可簡單理解為一個大數據的應用; 所以三者不存在誰取代誰的情況


速度很快的虛擬機


Docker其實類似於早期的LXC,是由namespace和CGroup兩個技術疊加出來的,但又不完全是。Docker的最大價值其實是讓DevOps開發和運維的一體化能夠輕鬆落地。早前DevOps很難落地,因為去部署、發布、運維和管理那些應用的過程很麻煩,所以在雲上面衍生了大量的編排類的服務出來。Docker通過鏡像分發,可以快速部署;這種把配置和環境解耦的方式,讓快速部署變成可能。這就意味著Docker的彈性非常好,而且速度很快。他可以快速擴容部署一百台,然後再迅速縮容到一台,隨後再快速部署一百台;這是Docker從誕生開始的優點,所以運維的人很喜歡他。


docker是一批做小散戶們個人站點空間 小微服務 收費10 20塊一個月的 「雲服務提供商「們的春藥呀

離hadoop差幾百個雲伺服器的距離


感覺第一個問題像是問Sandboxie能否取代VirutalPC,其實確實完成了一部分之前只能用VirtualPC做的事情,但是其實根本不是一個層面的東西,也就是上面提到的全虛擬化和輕量虛擬化的原理。


推薦閱讀:

如何看待Docker改名為Moby?
學習Docker哪本書最好?
學習docker要有什麼基礎?
DaoCloud、時速雲、靈雀雲這些Docker平台區別在哪裡?
如何學習、了解kubernetes?

TAG:Linux | Hadoop | 虛擬化 | Docker |