三、Docker的核心技术、平台技术、容器支持技术介绍
1. 容器核心技术
① 容器规范、② 容器runtime、③ 容器管理工具、④ 容器定义工具、⑤ Registries、⑥ 容器OS
容器规范
容器是一类技术,不光是Docker,还有其他的一些容器,如Core的rkt,为了保证生态的发展和不同容器之间的兼容。 后面Docker、CoreOS、Google等公司成立了一个叫 Open Container Initiative(OCI)组织,指定开放的容器规范。
OCI现有两个规范: ① runtime spec、② image format spec
规范作用:可保证容器的可移植性和互操作性
容器runtime
runtime是容器真正运行的地方,runtime需要和操作系统kernel(内核)紧密协作,为容器提供运行环境。
例如Java程序好比是容器,JVM好比是runtime,JVM为Java程序提供运行环境。同样容器只有在runtime中才能运行。
容器runtime类型
- lxc runtime
lxc是Linux老牌的容器runtime,Docker最初也是用lxc作为runtime的
- runc runtime
runc是Docker自己开发的容器,符合OCI规范,现在是Docker默认使用的runtime
- rkt runtime
rkt是CentOS开发的容器runtime,符合OCI规范,因此能运行Docker的容器
容器管理工具
工具用来管理容器,容器管理工具对内与runtime交互,对外提供interface。
容器管理工具类型
- lxd
lxc对应的管理工具是lxd
- docker engine
runc对应的管理工具是docker engine,docker engine包含deam