Docker是什麼、爲何是一種趨勢

 

Docker的思想來自於集裝箱,集裝箱解決了什麼問題?在一艘大船上,能夠把貨物規整的擺放起來。而且各類各樣的貨物被集裝箱標準化了,集裝箱和集裝箱之間不會互相影響。那麼我就不須要專門運送水果的船和專門運送化學品的船了。只要這些貨物在集裝箱裏封裝的好好的,那我就能夠用一艘大船把他們都運走。php

docker就是相似的理念。如今都流行雲計算了,雲計算就比如大貨輪。docker就是集裝箱。java

1.不一樣的應用程序可能會有不一樣的應用環境,好比.net開發的網站和php開發的網站依賴的軟件就不同,若是把他們依賴的軟件都安裝在一個服務器上就要調試好久,並且很麻煩,還會形成一些衝突。好比IIS和Apache訪問端口衝突。這個時候你就要隔離.net開發的網站和php開發的網站。常規來說,咱們能夠在服務器上建立不一樣的虛擬機在不一樣的虛擬機上放置不一樣的應用,可是虛擬機開銷比較高。docker能夠實現虛擬機隔離應用環境的功能,而且開銷比虛擬機小,小就意味着省錢了。docker

2.你開發軟件的時候用的是Ubuntu,可是運維管理的都是centos,運維在把你的軟件從開發環境轉移到生產環境的時候就會遇到一些Ubuntu轉centos的問題,好比:有個特殊版本的數據庫,只有Ubuntu支持,centos不支持,在轉移的過程中運維就得想辦法解決這樣的問題。這時候要是有docker你就能夠把開發環境直接封裝轉移給運維,運維直接部署你給他的docker就能夠了。並且部署速度快。數據庫

3.在服務器負載方面,若是你單獨開一個虛擬機,那麼虛擬機會佔用空閒內存的,docker部署的話,這些內存就會利用起來。centos

總之docker就是集裝箱原理。服務器

 
很通俗易懂! 能夠認爲docker容器是一個虛擬機,封裝就是把這個虛擬機打包,打包後能在任何系統的docker裏裝上即用。
 
你們應該基本都理解集裝箱是怎麼改變世界的吧? 在集裝箱以前,貨物運輸沒有統一的標準方式進行搬運,因而鐵路、公路、海洋等各類運輸之間,須要大量的人力做爲貨物中轉,效率極低,並且成本很高。
集裝箱出現以後,世界上絕大多數的貨物運輸均可以放到這個神奇的箱子裏,而後在公路、鐵路、海洋等全部運輸場景下,這個箱子均可以不用變化形態直接能夠承運,並且中間的中轉工做,均可以經過大型機械搞定,效率大大提高。
今後全球化開始,商業的潛力被進一步挖掘......
2

Java號稱「一次編譯,處處運行」,由於java虛擬機解決平臺的兼容性問題,因此有java虛擬機的地方就能跑java代碼;運維

Docker是:「一次封裝,處處運行」,由於docker決絕了應用環境的問題,安裝了docker的平臺就能跑「docker包」,這樣就決絕了「開發環境能跑,一上線就崩」的尷尬。網站

3
 

 

 4. 雲計算

 輕量化虛擬技術,甚至理解成輕量化虛擬機。 新手從這個角度開挖吧,比較直觀。
注意: 這個「虛擬機」不是指「JVM虛擬機」這樣的虛擬機、而是指「Windows裝個Linux操做系統」這樣的虛擬環境。
          如今,虛擬環境整個能夠ship來ship去,你把你配好了東西的虛擬環境能夠打包成‘鏡像’給別人,人家也是拿來直接就得到了這個環境。
 
相關文章
相關標籤/搜索