工具安装
安装 gcc:
yum install gcc
安装依赖libcap-devel:
yum install libcap-devel
安装Cgroup
yum install libcgroup
安装 libvirt
yum install libvirt libvirt-client python-virtinst
安装LXC
下载源码:
wget https://sourceforge.net/projects/lxc/files/lxc/lxc-0.9.0/lxc-0.9.0.tar.gz/download
解压缩进入目录,编译安装:
[root@kolla ~]# tar -xzvf lxc-0.9.0.tar.gz
[root@kolla ~]# cd lxc-0.9.0
[root@kolla lxc-0.9.0]# ll
[root@kolla lxc-0.9.0]# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
configure: creating ./config.status
config.status: creating Makefile
config.status: creating lxc.pc
......
[root@kolla lxc-0.9.0]# make
Making all in config
make[1]: Entering directory `/root/lxc-0.9.0/config'
cp default.conf.unknown default.conf
make[1]: Leaving directory `/root/lxc-0.9.0/config'
Making all in src
make[1]: Entering directory `/root/lxc-0.9.0/src'
make all-recursive
make[2]: Entering directory `/root/lxc-0.9.0/src'
Making all in lxc
make[3]: Entering directory `/root/lxc-0.9.0/src/lxc'
......
[root@kolla lxc-0.9.0]# make install
Making install in config
make[1]: Entering directory `/root/lxc-0.9.0/config'
make[2]: Entering directory `/root/lxc-0.9.0/config'
make[2]: Nothing to be done for `install-exec-am'.
......
# 检查是否安装成功
[root@kolla lxc-0.9.0]# lxc-checkconfig
Kernel configuration not found at /proc/config.gz; searching...
Kernel configuration found at /boot/config-3.10.0-957.1.3.el7.x86_64
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled
--- Control groups ---
Cgroup: enabled
Cgroup clone_children flag: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled
--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
File capabilities: enabled
LXC使用
创建容器:lxc-create –n 容器名 –t 模板名
启动容器:lxc-start –n 容器名 [-d]
登录容器:lxc-console –n 容器名
列出容器:lxc-ls
挂起/恢复容器:lxc-freeze/lxc-unfreeze
关闭容器:lxc-stop
用于销毁容器:lxc-destroy
监控容器:lxc-monitor
用于在容器执行应用程序:lxc-execute
lxc资源限制
用法:lxc-cgroup -n containername subsystem value
例如:lxc-cgroup -n foo cpuset.cpus “0,1”