参考:https://mp.weixin.qq.com/s/tRkRE-oNGPBWMD7urWmsAQ
容器化时代:一台物理机安装多个容器实例(container),一个容器跑多个程序。与虚拟机不同的是,虚拟机是虚拟出来的机器,每一台虚拟机就跟物理机一样有自己的硬件参数和程序运行环境。而容器可以有不同的硬件参数和运行环境。
容器化解决了软件开发过程中一个令人非常头疼的问题,用一段对话描述(在虚拟机上特容易发生,因为环境不同):
开发人员编写代码,在自己本地环境测试完成后,将代码部署到测试或生产环境中,经常会遇到各种各样的问题。明明本地完美运行的代码为什么部署后出现很多 bug,原因有很多:不同的操作系统、不同的依赖库等,总结一句话就是因为本地环境和远程环境不一致。
容器化技术正好解决了这一关键问题,它将软件程序和运行的基础环境分开。开发人员编码完成后将程序打包到一个容器镜像中,镜像中详细列出了所依赖的环境,在不同的容器中运行标准化的镜像,从根本上解决了环境不一致的问题。