当前位置: 首页 > 知识库问答 >
问题:

“lxd”与lxc/docker有什么不同?

关浩壤
2023-03-14
  • lxd如何在容器中提供完整的操作系统功能,而不仅仅是单个进程?
  • 它与lxc/docker包装器有何不同?
  • 它是否类似于一个容器,在一个容器中包含多个进程?

换言之:

  • 在lxc和docker上使用一些包装器做不到的lxd可以做什么

共有3个答案

壤驷坚
2023-03-14

LXD与LXC一起工作,其设计目的不是替换或取代LXC。相反,它旨在通过添加支持REST API的后端守护程序和通过REST API与本地守护程序和远程守护程序一起工作的简单CLI客户端,使基于LXC的容器更易于使用。

LXD更像是docker主机。

韦睿
2023-03-14

LXD基于liblxc,其目的是通过附加功能控制一些lxc,如快照或实时迁移LXD链接到LXC,它们以操作系统为中心。

Docker更以应用程序为中心,最初基于LXC,但现在独立于LXC,它可以使用openvz或其他任何东西Docker只关注具有库和依赖项的应用程序,而不关注操作系统。

有关更多信息,请参见此:https://www.flockport.com/lxc-vs-lxd-vs-docker-making-sense-of-the-rapidly-evolving-container-ecosystem/

问候。

薛兴言
2023-03-14

lxd如何在容器中提供完整的操作系统功能,而不仅仅是单个进程?

容器是独立的Linux系统,使用cgroups功能限制Linux内核中的cpu/内存/网络/etc,而无需启动完整的虚拟机

LXD使用liblxc(基于LXC)提供的功能,并由此产生完整操作系统功能的功能。

它与lxc/docker包装器有何不同?

LXD使用LXC中的liblxc。Docker更专注于应用程序,只是容器中应用程序的主要进程(默认情况下现在使用libcontainer,Docker首先使用liblxc)

它是否类似于使用docker supervisor/wrapper脚本启动的容器,以便在一个容器中包含多个进程?

类似的东西。LXD和Docker之间的区别在于Docker是一个应用程序容器,LXD是一个系统容器。LXD在容器中使用upstart/systemd-like主进程,默认情况下,它可以成为一个内存/cpu使用非常少的完整VM环境。是的,您可以使用supervisorctl/runit构建docker,但您需要手动完成此过程。您可以在中检查是如何完成的http://phusion.github.io/baseimage-docker/在容器内做类似的事情。

在lxc和docker上使用一些包装器做不到的lxd可以做什么?

容器的实时迁移,使用容器(如完整虚拟机),精确配置专用cpu内核/内存/网络I/O以在容器中使用,以非特权模式运行容器进程(容器中的根进程!=主机中的根进程),默认情况下Docker以特权模式工作,直到现在Docker 1.10才实现了非特权模式,但您需要查看(或者重写)Docker文件,因为许多事情在非特权模式下无法工作。

LXD和Docker是不同的东西。LXD在容器中为您提供了一个“完整的操作系统”,您可以使用在VM中工作的任何部署工具在LXD中部署应用程序。使用Docker,您的应用程序位于容器中,您需要不同的工具来在Docker中部署应用程序,并使用do度量性能。Docker设计用于在各种操作系统平台上运行,如Windows。LXD/LXC只能在Linux上运行:这就是Docker不再将LXC作为其堆栈的一部分的原因。

为什么它只在ubuntu中可用,如果他们使用主线内核功能(命名空间和cgroup)?

如果需要,LXD可以从Canonical获得商业支持,但您可以在Centos 7中构建LXD,ArchLinux(内核已修补)检查https://github.com/lxc/lxd.Gentoo现在支持LXDhttps://wiki.gentoo.org/wiki/LXD.

 类似资料:
  • 我找遍了,但看不出有没有办法。我有两个LXC容器在Ubuntu 14.04主机上运行Ubuntu 14.04。它们对我来说非常重要,所以我希望在主机硬件出现故障时能够轻松地将LXC容器备份/迁移到另一台服务器。 我现在已经用LXD构建了一个新的Ubuntu 15.1服务器,并且已经注销并返回并看到了新的组。为了测试,我用我14.04主机上的开关将我现有的一个LXC容器连接起来: ---然后在新服务

  • 问题内容: 如果您看一下Docker的功能,大多数功能已经由LXC提供。 那么Doc​​ker添加了什么呢?为什么要在普通LXC上使用Docker? 问题答案: 从Docker FAQ中: Docker不能替代lxc。“ lxc”是指linux内核(特别是名称空间和控制组)的功能,这些功能允许彼此进行沙盒处理并控制其资源分配。 在此低级内核功能基础之上,Docker提供了具有多种强大功能的高级工具

  • 如果你看看Docker的功能,大部分已经由LXC提供了。 那么Docker添加了什么?我为什么要使用Docker而不是普通的LXC?

  • 问题内容: 我 对 Linux容器(LXC)的 理解 是,它为Linux系统提供了本机管理程序,类似于Windows 8中引入的Windows Hyper-V。“本机管理程序”是指Linux系统能够承载来宾VM的能力。无需安装任何专门的虚拟化软件。 我 对 Docker的 理解 是,它 以某种方式 基于LXC构建,并允许应用程序开发人员定义: 虚拟机/节点的确切应用堆栈,包括操作系统,操作系统的精

  • null 所以首先,如果我对LXC或Docker的理解有任何误导,请首先纠正我! 假设我的理解或多或少是正确的,我问: Docker与vmWare或Xen VM之间的关系是什么?Docker“坐”在虚拟化层之上吗?换句话说,是否存在针对不同虚拟化平台(vmWare、Xen、kvm等)的“Docker绑定”,并且我可以为使用Docker容器并将其部署到任何Docker化的平台 LXC和Docker有

  • 我正在使用Ubuntu18:04和lxc/lxd蒸汽容器。它工作得很好,我遵循了本教程,并对网络内容做了一些更改。 https://blog.simos.info/running-steam-in-a-lxd-system-container/ 蒸汽适用于opengl游戏,但不适用于沃肯游戏。卢特里斯也一样。 主办方: 集装箱侧: ubuntu@steam:~$vulkaninfo OpenGL工