您的位置:首页 > 运维架构 > Docker

【docker】docker—应用的管理平台

2014-09-18 20:59 387 查看
docker与openstack、LXC的本质差别是什么? 这个问题一直困扰着我,随着对docker的认识不断深入,今天总算是有点明白,openstack是针对资源(虚拟机或容器)的管理,而docker是针对应用的管理,根据应用的“12 factors”,我们来对比docker和openstack的差异:
I. Codebase【源码】

docker:提供了基于源码的镜像制作;

openstack:镜像内部不涉及;

II. Dependencies【依赖】

docker:支持镜像依赖,实现应用对组件或平台的依赖;

openstack:镜像内部不涉及;

III. Config【配置】

docker:提供link、env特性,简化实现应用配置;

openstack:镜像内部不涉及;

IV. Backing Services【后端服务】

docker:不提供后端服务,但是应用使用后端服务配置简单;

openstack:不提供后端服务,不涉及应用配置;

V. Build, release, run【部署】

docker:提供镜像制作和运行容器,分两个阶段实现;

openstack:镜像内部不涉及;

VI. Processes【运行】

docker:提供运行容器,启动时可指定运行程序,如果运行环境参数有变,可通过指定参数解决;

openstack:提供运行虚拟机,需要在虚拟机内部指定自启动服务,如果运行环境参数有变,需要登录虚拟机后重新配置参数;

VII. Port binding【绑定端口】

docker:支持;

openstack:不支持;

VIII. Concurrency【扩容】

docker:不支持

openstack:不支持

备注:一般需要上层系统提供

IX. Disposability

docker:启动、关闭容器快速;

openstack:与docker相同;

X. Dev/prod parity

docker:提供镜像管理,同时支持在启动应用时指定参数,保证开发、测试、商用时环境基本一致;

openstack:提供镜像管理,但是不支持在启动时指定应用参数;

XI. Logs【日志】

docker:提供stdout和stderr导出功能,提供cp功能拷贝容器内部的应用日志文件;

openstack:不支持;

XII. Admin processes

docker:支持;

openstack:支持; 

结论: 从“12 fators”分析可以说docker提供了非常简便的应用管理能力!  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker