Docker - 通往新世界的大門

引言

相信不少技術同窗在開發時都會使用虛擬機,配置好一個開發環境,之後使用時只須要啓動虛擬機就行了。但虛擬機動輒幾個GB,大一點兒的甚至幾百個GB,並且只要其中任意的虛擬機文件損壞,整個虛擬機就沒辦法啓動了。你可能說應該常常備份,這的確是個好主意。但有沒有更好的辦法呢?今天鋼哥就帶着你們瞭解一下Docker(容器),看看它是否比傳統的虛擬機更適合咱們。docker

什麼是容器?

顧名思義,容器就是用來裝東西的。咱們平時喝水的杯子就是容器,只不過杯子這個「容器」是用來裝水的,而咱們這裏的容器裝的是應用程序。測試

容器有什麼特色?

  • 自包含性:它打包了應用程序的全部依賴,能夠直接運行;
  • 可移植性:容器能夠在幾乎任何地方以相同的方式運行,這就確保了在開發、測試和生產環境均可以擁有徹底同樣的運行環境;
  • 相互隔離性:多個容器間默認是相互隔離的,即便運行在同一臺主機上;
  • 輕量級特性:秒級啓動,佔用資源少;

容器與虛擬機有什麼區別?

不少同窗會以爲,容器能作的事虛擬機也能作啊,到底有什麼區別呢?spa

虛擬機的缺點

  • 佔用資源多;
  • 冗餘步驟多;
  • 啓動慢;

容器的優勢

  • 佔用資源少;
  • 說起小;
  • 啓動快;

下面是 Docker 官網截圖(後文會解釋什麼是 Docker)
操作系統

從這張圖咱們能夠看出,傳統的虛擬機很是重,每個虛擬機都是一臺獨立的操做系統。而 Docker 則不一樣,它會重用宿主機已有的系統資源,同時又完美地隔離了不一樣的容器,因此實現起來很是輕,也便於被標準化。有同窗會說,這跟傳統虛擬機也沒什麼本質差異啊,新的虛擬機罷了。其實否則,正是這種「輕量級」的特性,使其有機會成爲新的標準化的應用發佈方式。code

相關文章
相關標籤/搜索