虚拟化
虚拟化指的是将一台计算机虚拟为多台逻辑计算机(虚拟机),每台逻辑计算机可运载不同操作系统。
容器(Container)
Container是轻量级虚拟化技术
与虚拟机相比的好处
更加轻量,仅包含运行环境。虚拟机需要几个G,而容器可能只需要几十M,对于一个服务器来说相比于虚拟机可以承载更多的容器。
虚拟机以操作系统为中心,容器以应用程序为中心,容器之间共享操作系统内核,无需像虚拟机一样等待系统的启动。
解决运行环境的不一致
当从测试环境到线上部署时、私有云到公有云的切换时,相同的程序也许会产生一些不同问题。可能是版本、系统、编译器的不同导致的。
容器将这个应用程序的全部依赖、类、库、配置文件等,统一打入到一个包中,以解决平台不同的问题。
通过将平台容器化,使得操作系统的版本及其他运行环境的差异被抽象掉。
模块化(微服务)
一个复杂的程序可以拆分成许多小的模块(如前端、后端、数据库等),而不需要都运行在一个容器内。
利于维护管理,每个模块相对来说都比较简单。
动态部署:更新某个模块时不需要停机或重构整个项目。