一、什麼是Docker?
Docker是一個開源的應用容器引擎,可以看作是輕量級的虛擬機,但卻不是虛擬機,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。 ------引用百度百科
二、Docker的組成
一個完整的Docker有以下幾個部分組成:
-
DockerClient客戶端
-
Docker Daemon守護進程
-
Docker Image鏡像
-
DockerContainer容器
三、Docker的架構
Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。Docker 容器通過 Docker 鏡像來創建。容器與鏡像的關係類似於面向對象編程中的對象與類,Docker daemon 作爲服務端接受來自客戶的請求,並處理這些請求(創建、運行、分發容器)。 客戶端和服務端既可以運行在一個機器上,也可通過 socket 或者RESTful API 來進行通信。
四、Docker的常見應用場景
1、Automating the packaging and deployment of applications(使應用的打包與部署自動化)
2、Creation of lightweight, private PAAS environments(創建輕量、私密的PAAS環境)
3、Automated testing and continuous integration/deployment(實現自動化測試和持續的集成/部署)
4、Deploying and scaling web apps, databases and backend services(部署與擴展webapp、數據庫和後臺服務)
五、Docker和虛擬機的區別
2、不需要指令級模擬;
3、不需要即時(Just-in-time)編譯;
4、容器可以在CPU核心的本地運行指令,不需要任何專門的解釋機制;
5、避免了準虛擬化和系統調用替換中的複雜性;
6、輕量級隔離,在隔離的同時還提供共享機制,以實現容器與宿主機的資源共享。
六、