“lxd”与 lxc/docker 有何不同?

2024-03-14

问题

  • lxd 如何在容器内提供完整的操作系统功能,而不仅仅是单个进程?
  • 它与 lxc/docker + 包装器有什么不同?
  • 是不是类似于用docker+supervisor/wrapper脚本启动一个容器,在一个容器中包含多个进程?

换句话说:

  • 我可以用 lxd 做什么,而用 lxc 和 docker 上的一些包装器却无法做到?
  • 如果使用主线内核功能(命名空间和 cgroup),为什么它只能在 ubuntu 中使用?

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

容器是隔离的 Linux 系统,使用 cgroups 功能来限制 Linux 内核中的 cpu/内存/网络等,无需启动完整的虚拟机。

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

它与 lxc/docker + 包装器有什么不同?

LXD 使用 LXC 的 liblxc。 Docker 更注重应用程序,只有容器内应用程序的主要进程(现在默认使用 libcontainer,Docker 确实首先使用了 liblxc)

是不是类似于用docker+supervisor/wrapper启动的容器 在一个容器中包含多个进程的脚本?

相似的东西。 LXD和Docker的区别在于Docker是应用程序容器,LXD是系统容器。 LXD 在容器内使用像主进程一样的 upstart/systemd,并且默认情况下已准备好成为内存/CPU 使用量非常少的完整 VM 环境。是的,你可以使用supervisorctl/runit构建你的docker,但你需要这样做manually这个流程。您可以检查如何完成http://phusion.github.io/baseimage-docker/ http://phusion.github.io/baseimage-docker/在容器内做类似的事情。

我可以用 lxd 做什么,而用 lxc 和 docker 上的一些包装器却无法做到?

容器的实时迁移,像完整虚拟机一样使用容器,精确配置容器中使用的专用CPU核心/内存/网络I/O,以非特权模式运行容器进程(容器内的根进程!=容器中的根进程)默认情况下,Docker 在特权模式下工作,直到现在在 Docker 1.10 中,它们才实现非特权模式,但您需要检查(甚至重写)您的 Dockerfile,因为很多事情在非特权模式下无法工作。

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“lxd”与 lxc/docker 有何不同? 的相关文章

随机推荐

  • 仅允许在 JSON 架构中声明的属性

    我正在使用 json schema 并且只想允许在此文件中声明的属性通过验证 例如 如果用户在其 json 对象中传递 name 属性 则此架构将失败 因为 name 未在此处作为属性列出 是否有一些类似于 required 的函数只允许列
  • 提取特定字符串后的数字

    我需要找到字符串 Count of 后面的数字 计数 字符串和数字之间可能有空格或符号 我有一些可以在 www regex101 com 上使用但不能与 stringr 一起使用的东西str extract功能 library string
  • 编程高尔夫:玩俄罗斯方块

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 基础知识 考虑以下四格骨牌和空的比赛场地 0123456789 I O Z T L S J
  • 如何在 celery task.apply_async 中使用优先级

    我有一个testcelery 中的队列 我为它定义了一个任务 celery app task queue test ignore result True def priority test priority print priority 它
  • playOrm 基本设置 + playOrm 成熟度 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • LSB 中是否有 RPM 文件命名约定?

    RPM 是 LSB 中的包格式 但 LSB 是否强制 RPM 的任何命名标准 类似于 http www rpm org max rpm ch rpm file format html http www rpm org max rpm ch
  • cdata-section-elements 不工作

    我试图通过设置全局参数在通过 XSLT 使用 Saxon HE v9 7 0 14 生成的 xml 文件中设置密码 密码可以包含任何字符 因此需要将其放在CDATA部分 我试图通过设置来实现这一点cdata section elements
  • 删除表格单元格的边框

    我知道这是一个愚蠢的问题 但我似乎完全忘记了该怎么做 我有一个 HTMLtable我想删除所有单元格周围的所有边框 以便整个表格周围只有一个边框 我的代码如下所示 table border 1 width 500 tr th h1 Your
  • Silverlight 3 替代 FileVersionInfo.GetVersionInfo

    在 Silverlight 3 0 应用程序中 我想使用程序集文件版本 http msdn microsoft com en us library system reflection assemblyfileversionattribute
  • 从 History api 接收的步骤数据与 google fit 不匹配

    我希望在我的应用程序中计算 google fit 步数 因为我使用的是 google 提供的 History api 我发现从历史 API 接收的步骤与 google fit 不匹配 即使我使用了 google 提供的相同代码 下面是我的代
  • 创建一个包含 JSONObject Android 中所有键的数组

    您好 我想创建一个 JSONObject 中所有键的数组 我的理解 如果我错了 请纠正我 是我需要将 JSONObject 转换为 Map 然后从中创建一个数组 有人知道如何做到这一点吗 无需转换JSONObject到 Map 然后创建一个
  • Node exceljs读取文件

    所以根据官方文档我应该能够使用以下方式读取Excel文档 read from a file var workbook new Excel Workbook workbook xlsx readFile filename then funct
  • ggplot2 +facet_:某些方面的反转轴?

    我想将三个子图组合成一个图 而分面将是一种自然的方法 然而 使用反转的 x 轴 这些子图之一会更容易 更自然地阅读 而我想不理会其他子图 有没有办法使用facet grid 或facet wrap 来完成此任务 我考虑过的另一种选择是 gr
  • 如何在flutter webview中打开应用程序链接?

    在 Flutter 中 我使用 flutter网页视图插件 https pub dartlang org packages flutter webview plugin启动一个 url 例如 flutterWebviewPlugin lau
  • Sizzle 和 document.querySelectorAll 有什么区别

    据我所知 嘶嘶声和querySelector querySelectorAll是 CSS 选择器 那么 加载 Sizzle 和执行以下操作有什么区别 Sizzle my CSS query and document querySelecto
  • 我如何在 Capybara 中测试页面是否*未*重新加载(JavaScript onClick 拦截已起作用)?

    我用的是水豚 黄瓜和恶作剧 我正在测试附加到表单提交按钮的 JavaScript 函数 该函数旨在捕获提交事件并阻止它 在后台执行 AJAX 请求 使用和不使用 AJAX 页面最终看起来都是一样的 但 AJAX 方法要快得多 并且不会中断浏
  • 开始一项新活动

    我正在使用 Xamarin 我想启动一个名为 AutoLinkActivity 的新活动 这是我的代码 using System using Android App using Android Content using Android R
  • Java 示例代码示例 youtube data api v3 和授权方法作为 api 密钥

    我是 google api 的新手 为 YouTube 频道创建项目 我已经为该项目创建了 api 并生成了 api 密钥 在项目上启用 Youtube api 我到处都能获得 OAUTH 授权的代码示例 但无法找到任何用于使用 api K
  • 平衡设计原则:单元测试

    我正在编写 Bananagrams 的模拟 目前 我有一个GameMaster维护公共片段集合的类 这deal Player 方法向该玩家分发一定数量的棋子 我想为此编写单元测试 然而 此时我没有吸气剂 因此无法检查对象的状态 为什么不添加
  • “lxd”与 lxc/docker 有何不同?

    问题 lxd 如何在容器内提供完整的操作系统功能 而不仅仅是单个进程 它与 lxc docker 包装器有什么不同 是不是类似于用docker supervisor wrapper脚本启动一个容器 在一个容器中包含多个进程 换句话说 我可以