Docker是一款由DotCloud公司(現更名爲Docker)基於Go語言開發的開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的Linux機器上,也能夠實現虛擬化,容器是徹底使用沙箱機制,相互之間不會有任何影響。前端
Docker客戶端分爲2種,一種是基於命令行的Docker客戶端,在終端使用Docker命令來工做;另一種是基於REST API的客戶端。linux
鏡像顧名思義,能夠理解爲就是一個安裝包,放到恰當的環境中就能夠開箱即用。例如*.EXE文件,windows下能夠直接運行。同理,docker鏡像在docker環境中,便可直接運行,實例化一個容器將鏡像的應用程序封裝在裏面。git
Docker鏡像運行後,此時就實例化了一個Docker容器。鏡像做爲一個安裝包,能夠無限被安裝,便可以運行無數個容器來運行裏面的應用程序。docker
Docker 官方了一個相似Maven倉庫私服的鏡像管理中心Docker Hub,能夠存放私有和公共的Docker鏡像。
Docker Hub地址:https://hub.docker.com
更多操做請讀者,自行體驗。windows
Docker和虛擬機都是提供了不一樣程度的隔離環境。Docker側重的是應用級別,而虛擬機是完全隔離整個運行環境。相比之下Docker顯得更輕量級。啓動速度也比虛擬機快不少,Docker號稱是能夠毫秒級別的啓動,相比虛擬機沒個幾十秒甚至幾分鐘是起不來的。
從運行架構來看,二者很相似,雖然本質相差甚遠。
Docker容器須要在Docker引擎之上運行,Docker容器上安裝應用的運行環境,而後在此環境下運行各類終端應用。
同理,虛擬操做系統須要虛擬機軟件上,如Oracle VirtualBox、VMware Workstation等,而後在虛擬操做系統支持的運行環境(windows、linux)安裝應用。centos
對於容器技術,Docker並非先驅者,很早以前就有了。而且Docker並無創造任何新技術,它是經過在底層封裝linux容器技術(LXC)來實現的。那麼,問題來了,Docker爲毛能火?
Docker擁有如下特色:緩存
上面提到了與虛擬機的對比,可知,Docker啓動速度有多快,沒錯,就是毫秒級別。要的就是開發效率。前端框架
Docker容器運行在Docker引擎之上,可以直接使用宿主機硬件資源,無須佔用過多的系統資源。架構
Docker將應用以及運行環境打包成一個鏡像,交付更簡單、高效。框架
經過Docker客戶端可直接操做Docker引擎,很是方便管理Docker鏡像和容器。
如下是不一樣操做系統的安裝方法
第一步:更新yum包
$ yum update
第二步:安裝docker引擎
$ yum install docker-engine
第三步:啓動
$ systemctl start docker.service
第四步:查看版本
$ docker version
因爲我在mac上使用brew死活安裝不了Docker,選擇了安裝包安裝。
下載地址:https://download.docker.com/mac/stable/Docker.dmg
直接運行,下一步下一步就行了。
下載地址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe
點擊運行便可一如既往的下一步下一步完成安裝。
ifast是一款基於Spring Boot + Mybatis + Mybatis Plus搭建的快速開發平臺。ifast集成了代碼生成器,具備高效的開發效率。以Spring Boot爲基礎框架,Mybatis plus爲數據訪問層, Apache Shiro爲權限受權層,Ehcahe對經常使用數據進行緩存,基於Bootstrap構建的hplus做爲前端框架。
訪問請點擊 Java快速開發腳手架 ifast