Docker、LXD 和 LXC 之间有什么区别?他们提供相同的服务还是不同的服务。
答案1
不,LXC、Docker 和 LXD 并不完全相同。简而言之:
LXC
LinuX Containers (LXC) 是一种操作系统级虚拟化方法,用于在单个控制主机(LXC 主机)上运行多个隔离的 Linux 系统(容器)
https://wiki.archlinux.org/index.php/Linux_Containers
低水平...
码头工人
- 通过 Docker 公司
- 使用 LXC 容器的容器系统
- 所以你可以:
Build, Ship, and Run Any App, Anywhere
http://www.docker.com
LXD
- 由 Canonical 有限公司提供
- A使用LXC容器的容器系统
- 这样您就可以:
run LXD on Ubuntu and spin up instances of RHEL, CentOS, SUSE, Debian, Ubuntu and just about any other Linux too, instantly, ...
http://www.zdnet.com/article/ubuntu-lxd-not-a-docker-replacement-a-docker-enhancement/
Docker 与 LXD
- Docker 专门用于部署应用程序
- LXD 专注于部署 (Linux) 虚拟机
来源:http://linux.softpedia.com/blog/infographic-lxd-machine-containers-from-ubuntu-linux-492602.shtml
起初:https://insights.ubuntu.com/2015/09/23/infographic-lxd-machine-containers-from-ubuntu/
小技术说明
- 安装 LXD 包括一个名称巧合的命令行程序
lxc
http://blog.scottlowe.org/2015/05/06/quick-intro-lxd/
答案2
这张图可以帮助您理解它们之间的主要区别:
它们的共同点是,这三种技术都与容器相关。
容器是一种轻量级虚拟化机制,不需要您在模拟物理硬件上设置虚拟机。在 Linux 中,它们的共同点是使用的内核功能:cgroups
、namespaces(ipc, network, user, pid, mount)
。他们还尝试通过创建非特权容器并与selinux
.这些技术导出 API 以更好地与其他软件集成。
LXD 和 LXC
这两个集成了同一个家庭在哪里:
- 长沙:Linux 内核遏制功能的用户空间接口。这个人负责管理内核命名空间、Apparmor 和 SELinux 配置文件、Chroots、内核功能以及所有其他与内核相关的东西
- 长xd: 是一个容器“管理程序”。它由守护进程 (lxd)、命令行界面 (lxc) 和 OpenStack 插件组成。这个家伙的开发是为了给 lxc 提供更多的灵活性和功能,同时它仍然在幕后使用它。
基本上,独立的操作系统用户空间是使用其隔离的基础设施创建的。与 Docker 相比,lxc 更直接地基于操作系统的网络和存储功能。
您创建了许多具有用户空间和内核隔离的虚拟机,但它们不是完整的虚拟机,因为它们没有运行独立的内核,也没有出于同样的原因进行半虚拟化。
Canonical 是这里的主要赞助商,Oracle 也在这项技术上投入了工时。
码头工人
它有一些区别,其中最大的区别是引擎使用独立的文件系统而不是基本的“用户空间映像”来包装应用程序。这个想法是包含应用程序和基础映像,以营造应用程序是引擎内的单个进程的印象。 Docker使用lxc技术作为底层与内核通信,但今天,它使用自己的库,库容器。
文件系统是 Docker 的抽象,而 lxc 直接使用文件系统功能。网络也是一个抽象,而使用 lxc 您可以更轻松地设置 IP 地址和路由配置。一些“类似应用程序商店”的网站由微软、亚马逊、Vmware、IBM 和其他公司维护。
码头工人。 INC.是这里的主要赞助商。虚拟机是还投资在这项技术中。
相关容器技术:
这些是 Linux 拥有的其他容器技术:开放VZ和Linux虚拟服务器
相关内容: