首先它是一个相对独立的运行环境,在这一点有点类似于虚拟机,但是不像虚拟机那样彻底。容器与虚拟机有着类似的使命:对应用程序及其关联性进行隔离,从而构造起一套能够随处运行的自容纳单元。此外,容器与虚拟机还摆脱了对物理硬件的需求,允许我们更为高效的使用计算资源,从而提高能源效率与成本效益。既然有了虚拟机,为何会出现容器呢?
容器
容器是视图隔离、资源限制和单独系统文件进程的结合。隔离试图表示拥有独立的主机名以及能看到部分的进程;资源限制对CPU的使用个数以及内存的大小进行限制。容器就是一个进程集合,它将系统的其他资源隔离开来,具有自己独立的资源视图。
容器组成
容器的核心技术主要包括:namespace、Cgroup、rootfs、容器引擎。
容器解决了什么问题
容器技术的出现消除了传统的软件部署当中环境一致性、项目打包、项目部署等问题
环境一致性 开发人员通过容器方式部署项目,开发测试环境喝预发布以及生产环境一致。 容器清除线上环境差异,保证应用软件生命周期环境的一致性和规范性,开发工作人员利用镜像系统搭建规范开发环境,开发结束后执行封装项目和有关环境。测试和运维人员可以用此镜像系统直接从全部节点容器内及进行测试和发布。持续交付、测试和发布大大简化。 项目打包 开发人员通过镜像打包的方式迁移项目。 容器可以将整套项目封装打包起来,通过容器编排工具实现一键部署,分分钟搞定,就不需要再派人过去了。 微服务 容器的流行推动了微服务的发展,从SOA架构演变到微服务架构,甚至serverless架构。 容器的流行推动了微服务的发展,从SOA架构演变到微服务架构,甚至severless架构。
典型产品
Docker