一.Docker簡介linux
1.1 什麼是dockerweb
首先docker 是一個開源的「容器級」的虛擬化技術 。docker
1.2 什麼是「容器級」的虛擬化技術數據庫
說到容器級虛擬化技術 必需要先說到「LXC」 「LXC」是老牌的容器級虛擬化技術 是由ibm公司研發的 而docker 是在「LXC」的基礎上。容器級 能夠理解爲 linux系統是一個大箱子 而docker就是大箱子裏面的小箱子,在大箱子linux內運行 但跟大箱子隔絕。就像在windos 裏面運行的沙盒的道理是同樣的。Docker基於系統之上,但獨立系統。服務器
1.3 docker的目標負載均衡
Docker的項目的目的就是實現輕量級的操做系統虛擬化解決方案,消耗資源小。運維
1.4 爲何要使用docker docker爲何這麼火ide
做爲一種新興的虛擬化方式,Docker 跟傳統的虛擬化方式相比具備衆多的優點。性能
首先,Docker 容器的啓動能夠在秒級實現,這相比傳統的虛擬機方式要快得多。 其次,Docker 對系統資源的利用率很高,一臺主機上能夠同時運行數千個 Docker 容器。學習
容器除了運行其中應用外,基本不消耗額外的系統資源,使得應用的性能很高,同時系統的開銷儘可能小。傳統虛擬機方式運行 10 個不一樣的應用就要起 10 個虛擬機,而Docker 只須要啓動 10 個隔離的應用便可。
具體說來,Docker 在以下幾個方面具備較大的優點。
對開發和運維人員來講,最但願的就是一次建立或配置,能夠在任意地方正常運行。
開發者可使用一個標準的鏡像來構建一套開發容器,開發完成以後,運維人員能夠直接使用這個容器來部署代碼。 Docker 能夠快速建立容器,快速迭代應用程序,並讓整個過程全程可見,使團隊中的其餘成員更容易理解應用程序是如何建立和工做的。 Docker 容器很輕很快!容器的啓動時間是秒級的,大量地節約開發、測試、部署的時間。
Docker 容器的運行不須要額外的 hypervisor 支持,它是內核級的虛擬化,所以能夠實現更高的性能和效率。
Docker 容器幾乎能夠在任意的平臺上運行,包括物理機、虛擬機、公有云、私有云、我的電腦、服務器等。 這種兼容性可讓用戶把一個應用程序從一個平臺直接遷移到另一個。
使用 Docker,只須要小小的修改,就能夠替代以往大量的更新工做。全部的修改都以增量的方式被分發和更新,從而實現自動化而且高效的管理。
1.5 docker的使用場景
Docker的使用的場景,現有服務器的資源佔用比率比較小,例如(單純的web服務器,能夠把幾臺docker容器 作成負載均衡,故障轉移集羣)。不適用於,現有服務器佔有資源比較大的服務 例如(hpc集羣,大型數據庫orcle)
順便說一句 不是全部的服務都適合遷移到虛擬化的平臺,得根據服務佔用服務器資源的大小。
1.6 docker的優勢缺點
優勢:佔用系統資源小 啓動的速度快 佔用系統硬盤小 快速生成「模版」根據模版快速生成多個「容器」 在性能上 接近於原聲系統,docker是開源的 不少企業都支持 扶持docker 例如 redhat openstart 等,可快速遷移,快速部署等 高效的運行。
缺點: 如今最新的docker的版本是1.6 相對於老牌的虛擬化軟件來講 ,docker的技術相對不成熟,docker仍是有必定的bug 用戶相對較少,文檔較少,沒有售後的支持。
參考文檔 《docker技術入門與實戰》,和本人的觀點和對於docker的見解
QQ:786376668,4309617
做者:小鵬
歡迎你們跟我一塊兒學習docker