Docker逐漸成爲虛擬化技術的佼佼者,Java架構師之路接下來會推出一系列的Docker相關技術文章,Docker技術也是架構師的必備技能。git
什麼是Docker
Docker 是一個開源的應用容器引擎,基於Go語言,誕生於2013年初,最初發起者是dotCloud公司,開發者能夠打包應用到一個輕量級、可移植的容器中,而後發佈到主流Linux系統上運行。github
爲何用Docker
持續交付和部署:使用Docker能夠經過定製應用鏡像來實現持續集成,持續交付,部署。開發人員構建後的鏡像,結合持續集成系統進行集成測試,而運維人員則能夠在生產環境中快速部署該鏡像,也能夠結合持續部署系統進行自動部署。
更高效的資源利用:Docker是基於內核級的虛擬化,能夠實現更高效的性能,同時對資源的額外需求很低,相比傳統虛擬機方式,相同配置的主機可以運行更多的應用。
更輕鬆的遷移和擴展:Docker容器幾乎能夠在任何平臺上運行,同時支持主流的操做系統發行版本。
更快速的啓動時間:傳統的虛擬機技術啓動應用服務每每須要數分鐘,而Docker容器應用,因爲直接運行於宿主內核,無需啓動完整的操做系統,所以能夠作到妙級,甚至毫秒級的啓動時間,大大的節約了開發,測試,部署的時間。docker
Docker與傳統虛擬機差別centos
傳統虛擬化是在硬件層面實現虛擬化,須要有額外的虛擬機管理應用和虛擬機操做系統層,而Docker容器是在操做系統層面實現虛擬化,直接複用本地主機操做系統,更加輕量級。架構
核心概念
Docker鏡像:相似於虛擬機裏的鏡像,是一個只讀的模板,一個獨立的文件系統,使用鏡像能夠建立容器,能夠理解爲鏡像是容器的基石。
Docker容器:是由Docker鏡像建立的運行實例,相似於輕量級的沙箱,每一個容器之間都是相互隔離的。支持的操做有啓動,中止,刪除等。
Docker倉庫:相似於常常使用的代碼倉庫,如github,它是Docker集中存放鏡像文件的倉所,國內也有網易,阿里等鏡像倉庫。運維
鏡像操做指令
獲取鏡像:
docker pull centos (默認獲取centos最新的鏡像)
docker pull centos:7 (獲取指定標籤鏡像)
查看本地鏡像:
docker images性能