docker入門(一)
如在文件中遇到什麼問題請聯絡作者 QQ:1172796094
本人正在找深圳實習工作,求大佬帶飛
docker簡介
docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的linux機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。
docker的應用
我們之前是如何將專案釋出到Linux伺服器的?
大致步驟如下:
1、 安裝jdk
2、 安裝tomcat
3、 將專案war包上傳到tomcat的webapps下
4、 修改配置檔案
5、 啟動tomcat
這樣看似沒問題,其實我們想想,發一臺機器還好9,這幾步就完成了,如果我們要將這個專案釋出到N多臺機器,那麼我們是否需要在每個機器上都進行相同的步驟,並且要進行環境相容性的測試。
再來看一個例子,我們現在想部署使用一個成熟的產品,這個產品是用go語言開發的,我該如何部署?go語言執行的環境怎麼裝?這個專案又該如何部署?
還有,一臺linux機器上裝了很多軟體,部署了很多專案,相互之間有干擾怎麼辦?
如果有一項技術,可以解決以上問題或者是更多的問題,是不是很爽? 那就是Docker(容器)技術。
虛擬化和docker的對比
虛擬化要通過虛擬機器對資源進行虛擬化,而docker的優勢在於可以直接使用主機作業系統的資源進行虛擬化。
為什麼要使用docker
作為一種新興的虛擬化方式,docker跟傳統的虛擬化方式相比具有眾多的優勢。
首先,docker容器的啟動可以在秒級實現,這比傳統的虛擬機器方式要快得多。其次,docker對系統資源的利用率很高,一臺主機上可以同時執行數千個docker容器。
容器除了執行其中應用外,基本上不消耗額外的系統資源,使得應用的效能很高,同時系統的開銷儘量小。傳統虛擬機器方式執行10個不同的應用就要啟動是個虛擬機器,而docker只需要啟動10個隔離的應用即可。