1、作用:提到容器技术,我们就不可避免的会想到docker。docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中。在用docker的情况下,大家可以直接把项目发布在docker容器上面进行测试,当项目需要正式上线的时候,直接可以把做好的docker 镜像部署上去就行了,如果测试的好,就不必担心项目上正式版本的时候再出现什么问题。
2、好处:
(1)轻量、消耗少:使用docker能合并多个服务以降低费用,不多的操作系统内存占用,跨实例共享多个空闲的内存,这些技术让docker能以更加紧密的资源提供更有效的服务合并。基于lxc轻量级特点,启动快,而且docker能够只加载每个container变化的部分,这样资源占用小,在单机环境下与kvm之类的虚拟化方案相比,能够更加快速和占用更少资源。
(2)高利用率与隔离:容器服务没有管理程序的额外开销,与底层共享操作系统,性能更加优良,系统负载更低,在同等条件下可以运行更多的实例,充分利用系统资源。同时,容器拥有不错的资源隔离与限制能力,可以精确地对应用分配cpu、内存等资源,保证了应用间不会相互影响。
(3)快速部署与微服务:docker通过创建流程的容器,不必重新启动操作系统,几秒内能关闭,你可以在数据中心创建或销毁资源,不用担心额外消耗。docker 提供轻量的虚拟化,你能够从docker获得一个额外抽象层,能够在单台机器上运行多个docker微容器,而每个微容器里都有一个微服务或独立应用。
(4)标准化环境和控制:基于容器提供的环境一致性和标准化,你可以使用gt等工具对容器镜像进行版本控制。相比基于代码的版本控制来说,还能够对整个应用运行环境实现版本控制,一旦出现故障可以快速回滚。相比虚拟机镜像,容器压缩和备份速度更快,镜像启动也像启动一个普通进程一样快速。