LXC(Linux Containers)安装及使用

下面的步骤均在Ubuntu 12.04上执行。

 

安装

想在Ubuntu上使用LXC,就要安装LXC用户空间工具,如下所示。

$ sudo apt-get install lxc

安装完毕之后,运行lxc-checkconifg工具,检查当前Linux内核支持LXC的情况。要是一切都已被启用,内核对LXC的支持已准备就绪。

$ lxc-checkconfig

技术分享

安装LXC工具后,你会发现,LXC的默认网桥接口(lxcbr0)已自动创建(已在/etc/lxc/default.conf中加以配置)。

技术分享

创建LXC容器后,窗口的接口就会自动连接到该网桥,那样容器就能与外界进行联系了。

 

 

使用方法

创建LXC

以创建一个名为precise的Ubuntu 12.04容器为例。

需要创建一个基础的配置文件。由于创建LXC完成后,不再需要该配置文件(可以删除),故该文件的名字和路径没有特殊要求。这里命名为precise.conf,放在当前路径下:

lxc.network.type = veth
lxc.network.flags = up
lxc.network.name = eth0
lxc.network.link = lxcbr0

lxcbr0为由LXC包创建的虚拟网桥,通过ifconfig可以知道其IP地址10.0.3.1,网段10.0.3.1/24,容器将通过lxcbr0与外界通信。

如此,可以开始创建容器了:

$ sudo lxc-create -n precise -f precise.conf -t ubuntu -- -r precise
  • -n指定容器名,这里为precise。
  • -f指定基础配置文件,即上一步骤创建的precise.conf。
  • -t指定模板名,这里必须为ubuntu(创建Ubuntu 12.04)。每个模板名,对应一个脚本,它们存放在/usr/lib/lxc/templates目录(文件名形如lxc-<模板名>)中。
  • —以后的参数被传递给模板脚本;
  • -r为ubuntu模板脚本的参数,表示Ubuntu发行版代号,这里必须为precise(它是12.04的发行代号)。

创建过程可能会比较漫长。通过阅读/usr/lib/lxc/templates/lxc-ubuntu,不难发现创建ubuntu容器主要依靠deboostrap来完成。

 

启动LXC

若需立即启动LXC,则:

$ sudo lxc-start -n precise [command]

若需以daemon方式运行,则:

$ sudo lxc-start -n precise –d [command]

若需随host os启动而自动启动,则:

$ sudo ln -s /var/lib/lxc/precise/config /etc/lxc/auto/precise.conf

 

打开LXC控制台

在没有给容器设置IP时,打开其控制台

$ sudo lxc-console -n precise

将看到文本登录界面。 通过按热键ctrl-a和q,可以退出容器控制台。

更多的时候,通过ssh登录将更方便,特别是key认证方式登录。

 

停止LXC

多数情况下,可以通过在guest os(容器)内执行poweroff或shutdown -h now来关闭容器。但有些时候却需要在host os上强行关闭容器,如:

$ sudo lxc-stop -n precise

 

删除LXC

容器创建后,配置和数据存放在/var/lib/lxc/precise目录中。执行

$ sudo lxc-destroy -n precise

与手动删除该目录效果一样。

 

转自:http://www.malike.net.cn/blog/2013/11/10/lxc-tutorial/

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。