相信不少技術同窗在開發時都會使用虛擬機,配置好一個開發環境,之後使用時只須要啓動虛擬機就行了。但虛擬機動輒幾個GB,大一點兒的甚至幾百個GB,並且只要其中任意的虛擬機文件損壞,整個虛擬機就沒辦法啓動了。你可能說應該常常備份,這的確是個好主意。但有沒有更好的辦法呢?今天鋼哥就帶着你們瞭解一下Docker(容器),看看它是否比傳統的虛擬機更適合咱們。docker
顧名思義,容器就是用來裝東西的。咱們平時喝水的杯子就是容器,只不過杯子這個「容器」是用來裝水的,而咱們這裏的容器裝的是應用程序。測試
不少同窗會以爲,容器能作的事虛擬機也能作啊,到底有什麼區別呢?spa
虛擬機
的缺點容器
的優勢下面是 Docker 官網截圖(後文會解釋什麼是 Docker)
操作系統
從這張圖咱們能夠看出,傳統的虛擬機很是重,每個虛擬機都是一臺獨立的操做系統。而 Docker 則不一樣,它會重用宿主機已有的系統資源,同時又完美地隔離了不一樣的容器,因此實現起來很是輕,也便於被標準化。有同窗會說,這跟傳統虛擬機也沒什麼本質差異啊,新的虛擬機罷了。其實否則,正是這種「輕量級」的特性,使其有機會成爲新的標準化的應用發佈方式。code