docker的優勢和不足有哪些

優勢:1、更快速的交付和部署;2、更高效的虛擬化;3、更輕松的遷移和擴展;4、更簡單的管理;5、CPU/內存的低消耗。不足:1、無法在32bit的linux、Windows或unix環境下使用;2、docker對disk的管理比較有限等等。

docker的優勢和不足有哪些

本教程操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。

作為一種新興的虛擬化方式,Docker跟傳統的虛擬化方式相比具有眾多的優勢。首先, Docker容器的啟動可以在秒級實現,這相比傳統的虛擬機方式要快得多。其次, Docker對系統資源的利用率很高,一臺主機上可以同時運行數千個Docker容器。容器除了運行其中應用外,基本不消耗額外的系統資源,使得應用的性能很高,同時系統的開銷盡量小。傳統虛擬機方式運行10個不同的應用就要起10個虛擬機,而Docker只需要啟動10個隔離的應用即可。

Docker 在如下幾個方面具有較大的優勢。

1)更快速的交付和部署

對開發和運維(devops)人員來說,最希望的就是一次創建或配置,可以在任意地方正常運行。開發者可以使用一個標準的鏡像來構建一套開發容器,開發完成之后,運維人員可以直接使用這個容器來部署代碼。Docker可以快速創建容器,快速迭代應用程序,并讓整個過程全程可見,使團隊中的其他成員更容易理解應用程序是如何創建和工作的。Docker容器很輕很快!容器的啟動時間是秒級的,大量地節約開發、測試、部署的時間。

2)更高效的虛擬化

Docker容器的運行不需要額外的hypervisor支持,它是內核級的虛擬化,因此可以實現更高的性能和效率。

3)更輕松的遷移和擴展

4)更簡單的管理

5)CPU/內存的低消耗

6)快速開/關機

7)跨云計算基礎構架

Docker的局限性有哪些?

Docker并不是全能的,設計之初也不是KVM之類虛擬化手段的替代品,簡單總結幾點:

1)Docker是基于Linux 64bit的,無法在32bit的linux/Windows/unix環境下使用。

2)LXC是基于Cgroup等Linux kernel功能的,因此Container的Guest系統只能是Linux base的。

3)隔離性相比KVM之類的虛擬化方案還是有些欠缺,所有container公用一部分的運行庫。

網絡管理相對簡單,主要是基于namespace隔離。

4)cgroup的cpu和cpuset提供的cpu功能相比KVM的等虛擬化方案相比難以度量(所以dotcloud主要是按內存收費)。

5)docker對disk的管理比較有限。

6)container隨著用戶進程的停止而銷毀,container中的log等用戶數據不便收集。

所以針對以上局限性可以分為以下的適用性:

  • 針對1-2,有windows base應用的需求的基本可以pass了。

  • 針對3-5,主要是看用戶的需求,到底是需要一個container還是一個VM,同時也決定了docker作為 IaaS 不太可行。

  • 針對6-7,雖然是docker本身不支持的功能,但是可以通過其他手段解決(disk quota, mount –bind)。

總之,選用container還是vm,就是在隔離性和資源復用性上做權衡。另外即便docker 0.7能夠支持非AUFS的文件系統,但是由于其功能還不穩定,商業應用或許會存在問題,而AUFS的穩定版需要kernel 3.8, 所以如果想復制dotcloud的成功案例,可能需要考慮升級kernel或者換用ubuntu的server版本(后者提供deb更新)。這也是為什么開源界更傾向于支持ubuntu的原因(kernel版本)。

擴展知識:Docker安全性問題

1)Docker環境安全

Docker的勢頭在過去的12個月里十分火熱,很多人表示很少見如此能夠吸引行業興趣的新興技術。然而,當興奮轉化為實際部署時,企業需要注意Docker的安全性。了解Docker的人都知道,Docker利用容器將資源進行有效隔離。因此容器相當于與Linux OS和hypervisor有著幾乎相同的安全運行管理和配置管理級別。但當Docker涉及到安全運營與管理,以及具有保密性、完整性和可用性的通用控件的支持時,Docker可能會讓你失望。

當Docker運行在云提供商平臺上時,Docker安全性變得更加復雜。你需要知道云提供商正在做什么,或許你正在于別人共享一臺機器。Docker雖然容器沒有內置的安全因素,而且像Docker這樣的新興技術很難有比較全面的安全措施,但這并不意味著以后也不會出現。

2)Docker確保容器部署安全性

也有專家將Docker安全問題的實質定位于配置安全,認為Docker目前的問題是很難配置一個安全的容器。雖然現在Docker的開發人員通過創建非常小的容器來降低攻擊面,但問題在于大型企業內部在生產環境中運行Docker容器的員工需要有更多的可見性和可控性。企業在部署數千或數萬臺Docker容器時,能夠確保這些Docker容器都遵守企業安全策略進行配置是至關重要的事情。
Docker為解決這個問題,就需要增加Docker容器部署的實時可見性,同時實施企業制定的安全策略。也有一些廠商為此推出解決方案,給運營商提供了實時可見性并幫助他們執行容器級別的虛擬基礎設施的安全策略。

推薦學習:《docker視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享