首先,我們來扯一下服務器。現在主流開發語言有java,c++,php,python,ruby,.net,go等等,假如一臺服務器上要部署若干種語言的應用,然后同一種語言寫的應用可語言版本還不一樣,依可能又會沖突,然后購買硬件預算不足,那要解決這些問題簡悲催。
假如說預算充足,并且一個應用搞一臺高大上的服務器,那么每臺服務器配置一環境也是一個令人頭疼的問題。
docker之所以如此的一大原因解決了同一臺服務器不同應用相互影響的問題和多臺服務器環部署問題。
docker是如何解不同應用相互影的呢,這個就歸功docker容器咯,容器就像虛擬機,有自己的操作系統,可以安裝不同的軟件,并且相互之間隔離,最重要的是它非常節省資源,基本上內存都是里面進程用了多少它就多哪么一點點。
應用隔離這個問題是解決了,然而如果快速在多臺服務器配置環境呢。這個就要從docker容器如何生成說起。容器是依賴一個叫做鏡像的東西產生的,鏡像就像模板,容器自然就是那塊餅啦。所以我們只需要需要部署的環境封裝成一個鏡像,那么每臺服務器只需要復這個鏡像過去,然后根據這個鏡像生成容器就完成了環境配置,一就是這么簡單。
順便說一句,虛擬機啟動很慢,然而啟動一個容器是秒級的,這速度實在是太無敵了,而停止一個容器就啟動容器慢一些,然而還是秒級響應的,個人感覺比啟動一個tomcat的時間還短。
下一次,我就開始介紹docker的安裝和對docker鏡像的一些看法。