一.什么是Docker,能干什么?
Docker是一个开源的应用容器引擎,(C/S)架构程序。 Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。
思想:
1.集装箱
2.标准化
3.隔离
二.Docker容器 与虚拟机有什么区别?
首先明确一点,Docker容器不是虚拟机!
第一次接触Docker时,我把它比作一种轻量级的虚拟机。这样做无可厚非,因为Docker最初的成功秘诀,正是它比虚拟机更节省内存,启动更快。Docker不停地给大家宣传,“虚拟机需要数分钟启动,而Docker容器是秒级启动”
理解虚拟机
使用虚拟机运行多个相互隔离的应用时,如下图:
从下到上理解上图:
1.基础设施(Infrastructure) .。它可以是你的个人电脑,数据中心的服务器,或者是云主机。
2.主操作系统(Host Operating System)。 你的个人电脑之上,运行的可能是MacOS, Windows或者某个Linux发行版。
3.虚拟机管理系统(Hypervisor) 。 利用Hypervisor,可以在著操作系统上运行多个不同的从操作系统。
4.从操作系统(Guest Operating System)。 假设你需要运行3个相互隔离的应用,则需要使用Hypervisor启动3个从操作系统,也就是3个虚拟机。
这些虚拟机都非常大,也许有700MB,这就意味着他们将占用2.1GB的磁盘空间。更糟糕的是,他们还会消耗很多CPU和内存。
理解Docker容器
使用Docker容器运行多个相互隔离的应用时,如下图:
1.主操作系统(Host Operating System)。 所有主流的Linux发行版都可以运行Docker。对于MacOS和Windows,也有一些办法运行Docker.
2.Docker守护进程(Docker Daemon)。 Docker守护进程取代了Hypervisor,它是运行在操作系统之上的后台进程,负责管理Docker容器。
对比虚拟机与Docker
Docker守护进程可以直接与主操作系统进行通信,为各个Docker容器分配资源,它还可以将容器与主操作系统隔离,并将各个容器相互隔离。
虚拟机启动需要数分钟,而Docker容器启动秒级。由于没有臃肿的从操作系统,Docker可以节省大量的磁盘空间以及其他系统资源。
来源:oschina
链接:https://my.oschina.net/u/4395639/blog/4073061