第 1 章 容器生态系统

 鸟瞰容器生态系统

容器生态系统包含核心技术、平台技术和支持技术。

   

容器核心技术

是指能够让 container 在 host 上运行起来的那些技术。

   

 容器规范

包含 Docker、CoreOS、Google在内的若干公司共同成立了一个叫 Open Container Initiative(OCI) 的组织,其目的是制定开放的容器规范;

目前 OCI 发布了两个规范:runtime spec 和 image format spec。

有了这两个规范,不同组织和厂商开发的容器能够在不同的 runtime 上运行。这样就保证了容器的可移植性和互操作性。

  

容器 runtime

runtime 是容器真正运行的地方。runtime 需要跟操作系统 kernel 紧密协作,为容器提供运行环境。

容器只有在 runtime 中才能运行。lxc、runc 和 rkt 是目前主流的三种容器 runtime。

  

lxc 是 Linux 上老牌的容器 runtime。Docker 最初也是用 lxc 作为 runtime。

runc 是 Docker 自己开发的容器 runtime,符合 oci 规范,也是现在 Docker 的默认 runtime。

rkt 是 CoreOS 开发的容器 runtime,符合 oci 规范,因而能够运行 Docker 的容器。

容器管理工具

容器管理工具对内与 runtime 交互,对外为用户提供 interface。

  

lxd 是 lxc 对应的管理工具。

runc 的管理工具是 docker engine。docker engine 包含后台 deamon 和 cli 两个部分。

rkt 的管理工具是 rkt cli。

容器定义工具

容器定义工具允许用户定义容器的内容和属性,这样容器就能够被保存,共享和重建。

  

docker image 是 docker 容器的模板,runtime 依据 docker image 创建容器。

dockerfile 是包含若干命令的文本文件,可以通过这些命令创建出 docker image。

ACI (App Container Image) 与 docker image 类似,只不过它是由 CoreOS 开发的 rkt 容器的 image 格式。

Registry

容器是通过 image 创建的,需要有一个仓库来统一存放 image,这个仓库就叫做 Registry。

  

可以使用 Docker Registry 构建企业私有的 Registry。

Docker Hub(https://hub.docker.com) 是 Docker 公有 Registry,上面有很多现成的 image。

与 Docker Hub 类似 有Quay.io(https://quay.io/)

 

容器 OS

由于有容器 runtime,几乎所有的 Linux、MAC OS 和 Windows 都可以运行容器。

  

容器 OS 是专门运行容器的操作系统。与常规 OS 相比,容器 OS 通常体积更小,启动更快。因为是为容器定制的 OS,通常它们运行容器的效率会更高。

--------引用来自--------

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587551&idx=1&sn=8c5f97ecc132d5d3347b00ea736c4fa8&chksm=8d308046ba4709506bcca44f92ce2cf6b4c34aebacdf4cf8a8c15fd50dbb54fd904728a27185&scene=21#wechat_redirect

原文地址:https://www.cnblogs.com/gsophy/p/10130246.html