简明lxc入门手册
最新常常尝试新的软件导致我的云服务器(Ubuntu)被装的乱七八糟不得不没事干重装,所以考虑尝试使用lxc提供的虚拟化服务来make things clean and clear
lxc的安装
在Ubuntu环境下可以直接通过apt-get来安装
$ sudo apt-get install lxc
接下来检查一下当前环境下内核是否支持lxc
$ lxc-checkconfig
一般情况下会显示一列enable(如下图)
说明lxc符合你的环境,可以接下来进一步操作
创建新的容器
创建好lxc环境后我们就可以开始使用它了,第一步是新建一个新的容器
$ sudo lxc-create -n <你的新容器名字> -t ubuntu
如你所见上面那个步骤是新建一个ubuntu系统的虚拟容器,
特别注意,由于国内特殊的网络环境,以上的创建步骤很可能无法成功,这是因为创建过程中需要被下载的ubuntu镜像被墙了.
你需要修改一下lxc的默认ubuntu镜像下载地址来搞定
$ vi /etc/default/lxc
我们这里使用网易的ubuntu镜像地址,在这个配置文件中粘贴
MIRROR="http://mirrors.163.com/ubuntu/"
然后重试上面步骤一般即可成功创建
当然你也可以创建一下其他的环境,lxc是通过脚本模板的方式来提供这部分的操作
$ cd /usr/share/lxc/templates
$ ls
会显示如下
如你所见如果我们想安装一个centos的虚拟环境那直接把上一步命令中ubuntu环城centos即可
如果需要特定的系统版本号,则如下操作
$ sudo lxc-create -n <你的新容器名字> -t ubuntu -- --release 版本号
接下来就是漫长的等待(大约20分钟左右)会显示创建完成(如下),此时你的第一台容器完美诞生了~
##
# The default user is 'ubuntu' with password 'ubuntu'!
# Use the 'sudo' command to run tasks as root in the container.
##
默认情况下容器被放到 /var/lib/lxc/<容器名> 这个目录下,容器的根文件系统放在 /var/lib/lxc/<容器名>/rootfs 目录下。
lxc管理
在安装好之后我们先查看一下状态,输入
$ sudo lxc-ls --fancy
会显示
NAME STATE IPV4 IPV6 AUTOSTART
------------------------------------
lee STOPPED - - NO
则说明你已经创建好自己的容器,但是他并没有启动也没有分配IP,你可以输入
$ sudo lxc-start -n <容器名> -d
然后再次查看状态,会显示
NAME STATE IPV4 IPV6 AUTOSTART
-----------------------------------------
lee RUNNING 10.0.3.34 - NO
显示成功启动而且分配了10.0.3.34
这个地址,我们可以像任何普通远程服务器那样去登陆他(当然只限你远程服务器本机登陆,因为是内网)
$ sudo ssh ubuntu@10.0.3.34
password: ubuntu
随意折腾吧!
你也可以使用lxc命令停止和删除和克隆(需要先停止)容器
$ sudo lxc-stop -n <container-name>
$ sudo lxc-destroy -n <container-name>
sudo lxc-clone -o <container-name> -n <new-container-name>