LXC是什么

Amber 问答 2020-08-20 17:43:32 阅读(...)

LXC是一种操作系统层虚拟化技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器,内含应用软件本身的代码,以及所需要的操作系统核心和库。

LXC,其名称来自 Linux 软件容器的缩写,一种操作系统层虚拟化技术,为 Linux 内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器,内含应用软件本身的代码,以及所需要的操作系统核心和库。

LXC

透过统一的名字空间和共享 API 来分配不同软件容器的可用硬件资源,创造出应用程序的独立沙箱运行环境,使得 Linux 用户可以容易的创建和管理系统或应用容器。

在 Linux 内核中,提供了 cgroups 功能,来达成资源的区隔化。它同时也提供了名称空间区隔化的功能,使应用程序看到的操作系统环境被区隔成独立区间,包括行程树,网络,用户 id,以及挂载的文件系统。但是 cgroups 并不一定需要引导任何虚拟机。

LXC 利用 cgroups 与名称空间的功能,提供应用软件一个独立的操作系统环境。LXC 不需要 Hypervisor 这个软件层,软件容器(Container)本身极为轻量化,提升了创建虚拟机的速度。软件 Docker 被用来管理 LXC 的环境。

特点

目前的 LXC 使用下列内核功能来控制进程:

  • 内核名字空间(进程间通信、uts、mount、pid、network 和 user)
  • AppArmor 和 SELinux 配置
  • Seccomp 策略
  • chroot(使用 pivot_root)
  • Kernel Capibilities
  • 控制组(cgroups)
  • 因此,LXC 通常被认为介于“加强版”的 chroot 和完全成熟的虚拟机之间的技术。LXC 的目标是创建一个尽可能与标准安装的 Linux 相同但又不需要分离内核的环境。

使用

Proxmox VE: 它直到 4.0 版才使用 LXC 技术,在此之前的版本都是使用 OpenVZ 技术。

Docker:它在 0.9 版之前都是使用 LXC 技术,但在 0.9 版之后,已不再是唯一且默认的运行环境。

收藏 0个人收藏
走进科技生活方式

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • libvirt

    libvirt是什么

    libvirt是一套用于管理硬件虚拟化的开源API、守护进程与管理工具。此套组可用于管理KVM、Xen、VMware ESXi、QEMU及其他虚拟化技术。libvirt内置的API广泛用于云解决方案开发中的虚拟机监视器编排层。
  • 云计算

    什么是云计算的容器技术

    容器是一种更轻量级,更灵活的虚拟化处理方式,容器技术的好处,在于所有业务应用可以直接运行在物理主机的操作系统之上,可以直接读写磁盘,应用之间通过计算、存储和网络资源的命名空间进行隔离,为每个应用形成一个逻辑上独立的“容器操作系统”。
  • Anbox

    Anbox是什么

    Anbox是一个免费的开源兼容层,旨在允许为Android开发的移动应用程序和移动游戏在GNU / Linux发行版上运行。 使用LXC执行Android运行时环境,将Android的目录结构重新创建为可安装的循环映像。
  • Cloudmin

    Cloudmin是什么软件

    Cloudmin 是云计算控制面板,允许在易于使用的基于 Web 的 UI 中创建和管理虚拟机。是一个灵活的界面,可在一个 UI 下集成内部和外部云服务。
  • Docker

    Docker 是什么

    Docker是一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。
  • Virtualization Technology 虚拟化技术

    如何开启VT虚拟化

    重启电脑,开机后按delete键进入BIOS,进入BIOS后,找到Virtualization Technology,把Disabled改为Enabled,选择Save Exit Setup,按Y确定就可以了。