尽管容器的概念在十多年前就已被引入以安全地管理共享主机环境(例如FreeBSDjails),但LXC或Docker等Linux直到最近才成为主流应用程序。虽然这几天Docker受到了很多媒体的关注,并得到了各大云服务提供商(如亚马逊AWS和微软Azure)和分发提供商(如RedHat和Ubuntu)的大力支持,但LXC实际上是针对其中的一个为Linux平台开发的早期容器技术。如果你是一个普通的Linux用户,Docker/LXC能带来什么样的好处?好吧,容器实际上是一种几乎可以立即在不同发行版之间切换的好方法。假设您当前的桌面系统是Debian,您需要Debian稳定性。同时,您想玩最新的Ubuntu游戏。然后,无需经历双引导进入Ubuntu分区的麻烦,也无需启动资源密集型Ubuntu虚拟机,只需立即启动Ubuntu容器,一切就绪。即使没有Docker的所有好处,我喜欢LXC容器的地方在于LXC可以由libvirt接口管理,而Docker则不是这样。如果您一直在使用基于libvirt的管理工具(例如virt-manager或virsh),则可以使用这些相同的工具来管理LXC容器。在本教程中,我重点介绍标准LXC容器工具的命令行用法,并演示如何在Ubuntu上从命令行创建和管理LXC容器。在Ubuntu上安装LXC要在Ubuntu上使用LXC,您需要安装LXC用户空间工具,如下所示。$sudoapt-getinstalllxc安装完成后,运行lxc-checkconifg工具查看当前Linux内核是否支持LXC。如果一切都已启用,则对LXC的内核支持已准备就绪。$lxc-checkconfig安装好LXC工具后,你会发现已经自动创建了LXC的默认桥接接口(lxcbr0)(配置在/etc/lxc/default.conf中)。创建LXC容器后,窗口的接口会自动连接到桥上,使容器可以与外界进行通信。创建一个LXC容器为了能够为特定的目标环境(例如DebianWheezy64位)创建一个LXC容器,您需要一个相应的LXC模板。幸运的是,Ubuntu上的LXC用户空间工具带有一组预先准备好的LXC模板。您可以在/usr/share/lxc/templates目录中找到可用的LXC模板。$ls/usr/share/lxc/templatesLXC模板实际上只是一个脚本,用于为特定的Linux环境创建容器。当您创建LXC容器时,您需要使用这些模板之一。例如,要创建一个Ubuntu容器,请使用以下命令行:$sudolxc-create-n-tubuntu默认情况下,它将创建一个与本地主机具有相同版本号和体系结构的最小Ubuntu安装,在这种情况下这是SaucySalamander(13.10)64位。如果愿意,您可以创建任何版本的Ubuntu容器,只需传递release参数即可。例如,要创建一个Ubuntu14.10容器:$sudolxc-create-n-tubuntu----releaseutopic它将下载并验证目标容器环境所需的所有包。整个过程可能需要几分钟或更长时间,具体取决于容器类型。所以请耐心等待。经过一系列的包下载和验证,最终创建了LXC容器镜像,您将看到可以使用的默认登录详细信息。容器存储在/var/lib/lxc/
