除了docker还有什么容器?现在docker几乎成为了容器的代名词,很多人以为容器就是docker。其实,这是错误的认识,除了docker容器还有coreos。所以,容器世界里并不是只有docker一家。
既然不是一家就很容易出现分歧。任何技术出现都需要一个标准来规范它,不然各搞各的很容易导致技术实现的碎片化,出现大量的冲突和冗余。
在2015年,由Google,Docker、CoreOS、IBM、微软、红帽等厂商联合发起的OCI(Open Container Initiative)组织成立,并于2016年4月推出了第一个开放容器标准。标准主要包括runtime运行时标准和image镜像标准。用户在打包、部署应用程序后,可以自行DIY选择不同的容器Runtime;同时,镜像打包、建立、认证、部署、命名也都能按照统一的规范来做。
容器运行时标准
creating:使用 create 命令创建容器,这个过程称为创建中;
created:容器创建出来,但是还没有运行,表示镜像和配置没有错误,容器能够运行在当前平台;
running:容器的运行状态,里面的进程处于 up 状态,正在执行用户配置的任务;
stopped:容器运行完成,或者运行出错,或者 stop 命令以后,容器处于暂停状态。这个状态,容器还有很多信息保存在平台中,并没有完全被删除。
容器镜像标准
文件系统:以 layer 保存的文件系统,每个 layer 保存了和上层之间变化的一小部分,layer 应该保存哪些文件,怎么表示增加、修改和删除的文件等;
config 文件:保存了文件系统的层级信息(每个层级的 hash 值,以及历史信息),以及容器运行时需要的一些信息(比如环境变量、工作目录、命令参数、mount 列表),指定了镜像在某个特定平台和系统的配置。比较接近我们使用 docker inspect 看到的内容;
manifest 文件:镜像的 config 文件索引,有哪些 layer,额外的 annotation 信息,manifest 文件中保存了很多和当前平台有关的信息;
index 文件:可选的文件,指向不同平台的 manifest 文件,这个文件能保证一个镜像可以跨平台使用,每个平台拥有不同的 manifest 文件,使用 index 作为索引。
融亿云的容器云是通过docker技术,在集群服务器上部署容器服务实现,功能强大、简单易用,上万linux镜像,秒级开通,轻量级的容器云