VMWare VIC(Photon OS Docker)与CoreOS Docker

你能帮我理解
VMWare VIC的确如何运作吗?

我熟悉Docker,并且对CoreOS有一个非常基本的概述. Docker是您的环境容器,可以提高您的应用程序可移植性,而CoreOS是非常轻量级的Linux系统,它至少可以启动Docker容器.

另一方面,有许多虚拟机(例如VMWare),它们非常繁重,人类不得不发明Docker.唯一的VM比Docker的好处是它更安全.

问题:

>那么为什么要将Docker放入虚拟机?换句话说,你为什么需要VIC
>虚拟机如何成为“small”?这不是一个容器吗?
>为什么需要像Photon OS这样的附加层?为什么不直接从VM启动Docker实例. Docker inside OS, OS inside VM听起来像头顶上的?

最佳答案 我已经和VIC一起玩了一段时间,我试着回答你的问题.

>让我们想象VIC作为一个docker守护进程你可以发送像ps,run等命令.通常VIC有很多资源分配.当VIC收到运行命令时,它将生成一个具有所需配置文件的新VM.您可以通过docker参数提供应分配多少内存和CPU. docker在这个专门为docker容器生成的小VM中运行.因此,每个容器都将在自己的VM中运行.当您停止容器时,VM也会关闭.到目前为止,VIC已经实现了docker的所有功能,例如卷,网络…除了exec命令.
>嗯,这只是设计,可以被视为开销. VIC为每个容器创建了自己运行容器的VM.我相信这是“黑客”,为docker生态系统提供老式的VMware工具.
>当然,这是一个开销,但我认为这没什么大不了的.您可以查看Photon Controller,它应该是没有附加层的产品.但它尚未支持VMware工具.

我会说它有一些优点和缺点:

优点:

> VIC使用所需的cpu和mem配置文件自动生成新VM
> VIC可以通过本地docker调用来控制
> VIC支持其他VMware产品.监控,存储,网络

缺点:

>列表项目
> VIC在docker实现中存在一些错误,或者它与本机docker的工作方式不同.因此很难将其与其他系统(如mesos,马拉松)集成.
> VIC仅支持1.23 docker API版本
> VIC不支持exec命令

点赞