虚拟机
虚拟机是在一个主操作系统中,虚拟化出多个完整的子操作系统 (Guest OS),1 每个子操作系统的创建都需要单独分配
物理资源(cpu, 内存, 磁盘),不同子操作系统上运行的服务,是完全系统隔离的。
Docker
和虚拟机不一样是,Docker 是共用同一套操作系统的物理资源(cpu, 内存,磁盘)。
Docker 将程序运行的环境依赖打包,创建出一个 “小隔间”,小隔间提供了程序运行需要所有必需品, 如所依赖的
应用程序、运行环境、函数库。类似 Android studio 将开发环境打包成 apk 的概念。
这样做的好处是:
各个服务都会隔离在彼此独立的环境中,所有的环境配置都是互不影响的。
docker “小隔间” 的形象比喻:
参考资料