Docker 是容量实现的一种技术,Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。DevOps应用容器,可以完美实现DevOps2.0所需要的功能。
容器是轻量级虚拟化的一种形式,比chroot重,但比虚拟化的功能实现轻。它们在使用与主机相同的内核时提供进程之间的隔离,并在内核中提供cgroups功能。 每个VM实例化都需要启动一个完整的OS。vm占用大量系统资源。这很快就会增加大量的RAM和CPU周期。容器主机使用linux内核的进程和文件系统隔离特性。
CoreOS是为运行容器而设计的linux发行版,主要使用自己的rkt格式,但也支持其他格式。它最初基于ChromeOS并支持Docker。替代它的是canonical的ubuntu snappy或red hat enterprise linux原子主机。
收起首先DevOps不一定是要用容器的,传统部署方式也是可以进行DevOps实践的。DevOps是一种文化理念是方法论,任何提高效率、提升业务价值交付水平的方式方法在特定的组织内都可以称之为DevOps,关键是要从思想上有转变,然后再来谈用什么流程、什么工具、什么规范、什么组织结构来支持DevOps的实践。
Docker是应用运行时环境的一种选择,他可以快速的生成应用环境,快速的启动实例,快速的在不同的宿主机间移植,他的优势再于运维的效率,当然是很适合并且符合DevOps理念的。
那么, DevOps 的完美实现是不是就一定要用 Docker 容器技术,还要取决于你的业务,你的现状是怎么样的,如果你的业务变更不是很频繁,技术架构要去做容器化的改造挑战也非常大,那就不是很适合了。