Docker 与 VM 和 LXC 的关系
Docker relationship to VMs and LXC
我对 Linux 容器 (LXC) 的 理解 是它为 Linux 系统提供了一个本机管理程序,类似于 Windows' Hyper-V 在 Windows 8 中引入。"native hypervisor" 我的意思是,Linux 系统无需安装任何类型的专用虚拟化软件即可在其中托管来宾 VM 的能力。
我对 Docker 的 理解 是它 以某种方式 构建在 LXC 之上,并允许应用程序开发人员定义:
- VM/node 的确切应用程序堆栈,包括 OS,OS 的确切配置和调整,以及任何工具或应用程序 installed/configured/deployed OS;和
- 运行此 VM/node 的确切资源要求,包括 CPU 要求、memory/disk/network 要求、负载平衡和复制要求等。Docker 然后使用这些声明的要求作为其基线,计算出 运行 容器所在的节点。
所以首先,如果我对 LXC 或 Docker 的理解有任何误导,请开始纠正我!
假设我的理解或多或少是正确的,我问:
- Docker 和 vmWare 或 Xen VM 之间有什么关系?是否Docker "sit on top" 的虚拟化层?换句话说,是否有 "Docker bindings" 用于不同的虚拟化平台(vmWare、Xen、kvm 等),我可以为
myapp
使用 Docker 容器并将其部署到任何 Docker-化平台?
- LXC和Docker有什么关系? Docker 只是简单地扩展了 LXC,还是完全是一个类似(但完全独立)的概念?如果它是LXC的扩展,那么是什么方式?
relationship between LXC and Docker, -> docker started using LXC, but since docker 0.9, docker uses libcontainer, and no longer uses lxc-start to start the containers. Compared to LXC, docker offers a REST Api, allows to move images from and to the registry, allows to build using Dockerfiles...
我对 Linux 容器 (LXC) 的 理解 是它为 Linux 系统提供了一个本机管理程序,类似于 Windows' Hyper-V 在 Windows 8 中引入。"native hypervisor" 我的意思是,Linux 系统无需安装任何类型的专用虚拟化软件即可在其中托管来宾 VM 的能力。
我对 Docker 的 理解 是它 以某种方式 构建在 LXC 之上,并允许应用程序开发人员定义:
- VM/node 的确切应用程序堆栈,包括 OS,OS 的确切配置和调整,以及任何工具或应用程序 installed/configured/deployed OS;和
- 运行此 VM/node 的确切资源要求,包括 CPU 要求、memory/disk/network 要求、负载平衡和复制要求等。Docker 然后使用这些声明的要求作为其基线,计算出 运行 容器所在的节点。
所以首先,如果我对 LXC 或 Docker 的理解有任何误导,请开始纠正我!
假设我的理解或多或少是正确的,我问:
- Docker 和 vmWare 或 Xen VM 之间有什么关系?是否Docker "sit on top" 的虚拟化层?换句话说,是否有 "Docker bindings" 用于不同的虚拟化平台(vmWare、Xen、kvm 等),我可以为
myapp
使用 Docker 容器并将其部署到任何 Docker-化平台? - LXC和Docker有什么关系? Docker 只是简单地扩展了 LXC,还是完全是一个类似(但完全独立)的概念?如果它是LXC的扩展,那么是什么方式?
relationship between LXC and Docker, -> docker started using LXC, but since docker 0.9, docker uses libcontainer, and no longer uses lxc-start to start the containers. Compared to LXC, docker offers a REST Api, allows to move images from and to the registry, allows to build using Dockerfiles...