docker与虚拟机

  • 虚拟机:虚拟机需要模拟整台机器,包括硬件;每台虚拟机都有自己的操作系统,虚拟机一旦开启,预先分配给他的资源都将被占用。每一台虚拟机包括应用、必要的二进制文件和一个完整的操作系统。
  • Docker:和宿主机共享硬件资源和操作系统;可以实现资源的动态分配。容器包含应用和其所有的依赖包,但是与其他容器共享内核。使用容器的时候,并没有一个真正的“Docker容器”运行在宿主机里面。Docker项目帮助用户启动的还是原来的应用进程,只不过在创建这些进程的时候,Docker为它们加上了各种各样的Namespace参数。这些进程就会觉得自己是各自PID Namespace里的第1号进程,只能看到各自Mount Namespace里挂载的目录和文件,只能访问到各自Network Namespace里的网络设备,就仿佛运行在一个个“容器”里面,与世隔绝。

你可能感兴趣的:(docker与虚拟机)