背景介绍
Docker并非从石头里面蹦出来的,而是站长巨人的肩膀上,其中最重要的就是Linux容器(Linux Containers)LXC技术。早起Docker的代码是直接基于LXC的,从0.9版本之后就不是了。
通俗的理解
简单的讲,可以将Docker理解为沙盒,每个容器内部运行着一个应用,不用的容器相互隔离,容器之间也可以通过网络互相通行。容器的创建和停止都十分迅速。容器对系统自身资源的需求也很少,远低于虚拟机。
Docker在开发和运维中的优势
- 更快速的交付和部署
- 更高效的资源利用 – Docker是内核级的虚拟化,对资源的额外需求很低
- 更轻松的迁移和拓展
- 更简单的更新管理 – 使用Dockerfile实现增量更新
Docker的三大核心
- 镜像 – 类似于虚拟机镜像,理解为只读模版。镜像是创建容器的基础
- 容器 – 容器是从镜像创建的应用实例。理解为沙箱。
- 仓库 – 存放镜像的场所
【注意:镜像本身是只读的,容器从镜像启动的时候,会在镜像的最上层创建一个可写层】