一、什么是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、轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享。
六、