docker 与 LXC、虚拟机小记

2019-02-07  本文已影响0人  小码弟

1. docker 在 LXC 基础上的改进

docker 在 内核容器技术(Cgroup 和 Namespace)的基础上,提供了一个更高层的控制工具,该工具包含以下特性:

2. docker 容器与虚拟机有什么不同

容器与虚拟机是互补的。
虚拟机是用来进行硬件资源划分的完美解决方案,它利用硬件虚拟化技术,例如VT-x、AMD-V同时通过一个 hypervisor 层实现对资源的彻底隔离;而容器则是操作系统级别的虚拟化,利用的是内核的 Cgroup 和 Namespace 特性,此功能完全通过软件实现,仅仅是进程本身就尅与其他进程隔离开。
Docker 容器与主机共享操作系统内核,不同容器之间可以共享部分系统资源(PID, MNT),因此容器更加轻量级。而虚拟机会独占分配给自己的资源,几乎不存在资源共享,各个虚拟机实例之间几乎完全隔离,每个虚拟机实例都占用一个完整的操作系统所需的所有资源。
因此,如果需要完全隔离系统资源并不考虑资源消耗,选择使用虚拟机;若想隔离进程并且运行大量进程实例,则应选择 Docker 容器。

上一篇下一篇

猜你喜欢

热点阅读