1、OCI容器规范
OCI:Open Container Initiative
2015年6月22日,Docker、CoreOS、Google、RedHat等公司共同宣布:Docker公司将Libcontainer捐出,并改名RunC项目,交由一个中立的基金会管理。然后以RunC为依据,共同制定一套容器和 镜像 的标准和规范。
Libcontainer:Docker公司发布的容器运行时库,RunC的前身。
OCI规范实际上将runtime和 容器镜像 从Docker项目中剥离。
2、Runtime
Runtime与操作系统kernel紧密协作,为容器提供运行环境。
runC是Docker公司2015年发布的容器runtime工具,符合OCI规范。runC由Libcontainer演变而来。
业界其他runtime有Linux上的LXC,CoreOS的rkt等。
在通信上,Docker并不会直接与内核交互,它是通过一个更底层的工具与内核交互。
Libcontainer是Docker公司的一个lib库。