Docker 學習應用篇之一: 初識Docker

    Docker 自從2013年以來就非常的火熱,無論是從github上的代碼活躍度,還是Redhat在RHE6.5中集成對Docker的支持,等等。第一次接觸Docker,還是老師給我們介紹的。

 1.初識Docker 

一開始接觸Docker不知道它是幹啥的。百度了一下,Docker是爲開發者和系統管理員設計的,用來發布和運行分佈式應用程序的一個開放性平臺。Docker是一種Linux容器工具集,Docker的思想來自於集裝箱,在一艘船上可以把貨物規整的擺放起來。每個集裝箱都是專門裝一種貨物的,集裝箱和集裝箱之間互不干擾,於是就不需要專門運送某個物品的船,一艘大船把所有集裝箱都裝上,一次運走。其實這種解釋對於我們開發程序的人來說,還是有點抽象。具體的來說呢,就是你有一臺電腦,這就相當於一艘大船,你可以選擇開發c++或者c#的程序,那麼這臺電腦就要有支持開發的c/c#語言環境,還有開發工具,和服務器。這個時候,這艘船相當於只能運送蘋果,如果你想同時開發c的程序,也想開發python的程序,應該怎麼辦呢?那就要裝python的運行環境,和開發工具,服務器。這樣可能會和之前的c環境衝突,比如端口衝突。所以這個時候我們就需要Docker,他就像一個集裝箱,把python的環境和c的環境,分別集裝起來,讓二者互不干擾。這樣一個電腦,可以開發多種軟件。Docker的好處當然遠不止這個咯。


 2. Docker的優點


      1)   輕量級:單機可以輕鬆支持上百個Container(集裝箱),讓個位數的虛擬化方案相形見絀

      2)快速就緒:一秒以內就可以啓動,速度很快捷

      3)快速部署:Docker-file 可以快速在多臺機器上部署開發環境


3.Docker和虛擬機 

  說到Docker就要提到虛擬機了,在Docker流行之前,虛擬機是開發人員部署開發環境的普遍方法。但是虛擬機的缺點是消耗太多不必要的資源和內存,速度也很慢。從一張圖就可以看出爲什麼Docker會比虛擬機更快,更方便。

      

    可以看到Docker和VM的區別,是沒有Guestos,而是用Docker Engine代替。虛擬機的Guest OS即爲虛擬機安裝的操作系統,它是一個完整的操作系統內核,而Docker就顯得簡練很多,docker Engine可以簡單看成對Linux和NameSpace,Cgroup,鏡像管理文件的系統操作的分裝。Docker沒有和虛擬機一樣利用一個完全獨立的Guest OS 實現環境隔離,它利用的是目前Linux內核本身支持的容器實現資源和環境隔離。

   這就是對Docker的初步認識。Docker 第二篇就要學習如何安裝和簡單實用Docker.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章