特点
Docker不需要运行完整操作系统的额外开销,因此Docker对系统的利用率更高,直接运行于宿主内核
Docker确保应用运行环境的一致性。
基本概念
- Image(镜像)
一个文件系统,提供容器运行时需要的程序,库,资源,配置文件等,和一些为运行时准备的配置参数。镜像采用分层存储的方式,每一层内容都不会改变。
- Container(容器)
镜像运行时的实体,可以被创建,启动,停止,删除,暂停等。
容器的实质是进程,拥有自己独立的网络配置,文件系统,进程空间,所以隔离性非常好。
每一个容器运行时以镜像为基础层,在其上创建一个当前容器的存储层,称这个为容器读写而准备的存储层为容器存储层。容器存储层的生命周期随容器消亡而消亡。
按照规范容器不应该向存储层写入任何数据,文件的写入操作都应该使用数据卷(Volume,即逐主机的目录),保证数据不会丢失。
- Repository(仓库)
镜像完成后不仅需要在当前主机运行更要在其它主机上运行,这时就需要创建一个服务存储这个镜像。这个服务就是Docker Registry ,一个DR里包含了多个仓库,一个仓库包含多个标签,每个标签对应一个镜像。
Docker的核心就将各种软件抽象成一个容器,你可以自己制作容器也可以从官网下载,拿到容器后通过简单的参数可让容器直接运行在你的机器上面,非常便捷。
容器与云计算
与容器相关的云计算分为两种类型,一种是传统的IaaS,服务商提供容器的相关服务,包括镜像下载,容器托管等。
另一种是基于容器技术对外提供容器云服务,所谓Container as a Service (Caas)