现在很多互联网公司都在构建docker+微服务的架构体系。但是很多开发者根本不了知道微服务为什么一定要用docker?
这里必须要先说明物理机、虚拟机、容器三者的优缺点。基本概念所谓的物理机就是下面这样的别墅:
那么虚拟机机就是下面这样的套房:
最后就是我们的容器,就是下面这样的胶囊公寓:
Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。Docker有两句口号:
“Build, Ship and Run”
“Build once,Run anywhere(搭建一次,到处能用)”。
容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。
容器之间是共享同一套操作系统资源的,由于容器是共享主操作系统的内核,因此就无法在服务器上运行与主服务器不同的操作系统,也就是说不能再Linux的服务器上运行Windows。
就如上面哪个图一样