LXC是什么,如何入门?

我会很感激如果有人能给我介绍一下LXC并告诉我如何开始使用这项技术。在哪些情况下使用它是有意义的?又在哪些情况下应该避免使用它?

3如果你看过电影《盗梦空间》,你对LXC有一个很好的了解。http://www.imdb.com/title/tt1375666/ 预告片。 - Qasim
3个回答

L X C
                           Linux Containers ( Ubuntu )

概述
Linux容器(LXC)是一种轻量级虚拟化技术,为运行GNU/Linux的计算机提供了一个免费软件虚拟化系统。通过内核级别的隔离,它允许在同一主机上同时运行多个虚拟单元(容器)。
容器是在运行中的Linux系统中将一组进程与其他进程隔离开来的一种方式。通过利用现有功能,如Linux内核的新资源管理和资源隔离功能(Cgroups和命名空间),这些进程可以拥有自己独立的操作系统视图,包括自己的进程ID(PID)空间、文件系统结构和网络接口。
容器与其他正在运行的内容共享相同的内核,但可以限制其仅使用定义的资源量,如CPU、内存或I/O。通过将容器与Btrfs文件系统等其他功能结合使用,可以在单个主机上快速设置多个轻量级隔离的Linux实例。因此,容器与Solaris区域或BSD jails相比更具优势。

enter image description here

安装

让LXC更简单

Ubuntu LTS的主要目标之一是使LXC的使用变得非常简单,为了实现这一点。 在Ubuntu上创建一个基本容器并启动它。

 sudo apt-get install lxc
 sudo lxc-create -t ubuntu -n my-container
 sudo lxc-start -n my-container

登录
sudo lxc-console -n my-container -t 1

这将默认使用与您的机器相同的版本和架构,当然还有其他选项可用(–help会列出它们)。登录/密码为ubuntu/ubuntu。

有关详细主机配置,请点击此处


了解更多关于LXC的内容: Debian Oracle sourceforge

LXC Web Panel

对于新手,我建议使用LXC Web面板。好处是,如果你通过cli模式创建一个容器,它将在LXC Web面板中显示出来。

  sudo apt-get install lxc debootstrap bridge-utils -y
  sudo su
  wget https://lxc-webpanel.github.com/tools/install.sh -O - | bash

打开网络浏览器并连接
                       http://your_ip_address:5000/
                Login with user admin and password admin

概述

enter image description here

Containers Overview

enter image description here

LXC 网络

enter image description here

Container Settings

enter image description here

资源限制

enter image description here

用户修改(创建、删除、修改)

enter image description here

enter image description here


1在执行sudo lxc-create -t ubuntu -n my-container之前,我需要先安装sudo apt-get install debootstrap(Ubuntu 14.04 LTS)。 - CivMeierFan
Btrfs有哪些特性使容器的配置更快速? - chad
为了更好的安全性,你应该使用一个非特权容器(使用-t download而不是-t ubuntu):https://stgraber.org/2014/01/17/lxc-1-0-unprivileged-containers/ - baptx

LXC

LXC,全称为Linux容器,是一种在单个控制主机上运行多个隔离的Linux系统(被称为容器)的操作系统级虚拟化方法。由于LXC提供的是操作系统级虚拟化,它不是通过完整的虚拟机,而是提供了自己的虚拟环境,具有自己的进程和网络空间。

LXC依赖于开发为LXC的一部分的Linux内核cgroups控制组),它是限制、统计和隔离进程组资源使用(CPU、内存、磁盘I/O等)的特性。它还依赖于其他类型的命名空间隔离功能,这些功能已经开发并集成到主线Linux内核中。

在Ubuntu中,您可以找到与LXC一起使用的工具,例如Juju。您甚至可以找到几个教程:

为了使用LXC及其优势,我推荐阅读Ubuntu Juju指南

官方网站 - https://linuxcontainers.org/

邮件列表托管在这里


我认为一个更好的问题是,你想用LXC做什么? 我会从社区文档开始,然后针对你不理解的具体事项提出具体问题。

https://help.ubuntu.com/12.04/serverguide/lxc.html

https://help.ubuntu.com/community/LXC

LXC 可用于将服务或其他进程与主机隔离开来,尽管隔离并不总是完美的。
在我看来,LXC 正在快速发展中,如果您订阅邮件列表可能会有所帮助。

http://lxc.sourceforge.net/index.php/about/lxc-development/

Distrowatch上周也做了一个很好的概述。

http://distrowatch.com/weekly.php?issue=20130429#qa