Docker Toolbox或Docker for Mac是否有利于虚拟化解决方案?

时间:2016-07-23 06:00:12

标签: docker virtualization docker-machine

最初Docker for Linux利用命名空间cgroup原语在Linux平台上提供容器化解决方案。它使用LXC以及稍后runC来监禁docker进程。虽然他们正在扩展对Mac / Windows上docker的支持,但似乎他们正在采用一种不合理的解决方法,这超出了使用容器化而不是虚拟化的全部目的。

Docker Toolbox使用boot2docker Linux(基于Tiny Core的精简版)来托管docker容器。 boot2docker在Oracle Virtualbox上运行。

Docker for Mac在OS X Yosemite的原生虚拟化Hypervisor framework上运行Alpine Linux。接口是通过构建在Hyperkit(操作系统X端口xhyve)之上的bhyve来实现的。

Docker for Windows在Windows 10上的Hyper-V虚拟化框架上运行。

在传统虚拟机上使用docker(通常是容器)后面的reason开销可以忽略不计,并且接近原生性能。 Conainers必须重量轻才有用。

  

容器如何与虚拟机进行比较?

     

它们是互补的。 VM最适合用于分配块   硬件资源。容器在流程级别运行,这是   使它们非常轻巧,作为一个软件单元完美   递送

由于Docker for Mac / Windows依赖于幕后的一些虚拟化技术,在这些平台上使用docker仍然保留其相关性吗?不使用虚拟化来模拟容器化会超越切换到docker框架的整个目的吗?正如旁注,这article也支持我的观点。

1 个答案:

答案 0 :(得分:2)

  由于Docker for Mac / Windows依赖于幕后的一些虚拟化技术,在这些平台上使用docker仍然保留其相关性吗?

当然。在这些平台上等待完整的本机容器支持,您仍然可以从docker的主要优势中受益:服务发现,编排(kubernetes / swarm)和监控。

这些服务更容易扩展为容器,就像单个虚拟机一样。

  

不使用虚拟化来模拟容器化会超越切换到docker框架的整个目的吗?

否,因为没有docker框架,您将留下一个 VM,其中 all 您的服务必须存在,而没有隔离和个人升级的好处。