转:https://blog.csdn.net/caoshuming_500/article/details/51682811
LXC: Linux Container。
LXC允许你在宿主操作系统内的容器运行应用。容器在网络、行为等方面都与宿主OS都隔离。
LXC与虚拟化类似,但是有一些关键的不同点:虚拟化模拟硬件和操作系统,但是LXC只模拟操作系统,因此更轻量级、速度更快。
LXC的仿真(模拟)是通过Linux内核的cgroups和namespaces来实现的,因此LXC只能模拟基于Linux系的操作系统.cgroup主要是用于管理内存,CPU等资源。
LXC与物理机、虚拟机的区别:
LXC installer:http://www.flockport.com/start
LXC提供流行的Linux发行版的Template,包括Dbian,Ubuntu,CentOS,Fedora等。
安装后,使用下面的命令创建一个容器:
lxc-create -n mycontainer -t centos
- 1
参数n为容器名称,t为操作系统模板的类型。同时我们也可以指定系统的架构,如果没有指定,默认为amd64,相当于:
lxc-create -n mycontainer -t centos -a amd64
- 1
支持的模板可以在下面的目录中看到:
ls /usr/local/share/lxc/templates/
- 1
容器下载安装后,位于目录/var/lib/lxc
,也可以通过下面的命令查看当前容器:
lxc-ls -f
- 1
每个Container一般包含3个文件:
- config : 容器配置文件
- rootfs: 容器的操作系统目录
- fstab: 用于挂载主目录
启动容器:
lxc-start -n mycontainer -d
- 1
参数d为daemon,以守护进程启动,返回到shell中。如果没有d参数,会启动并弹出登录窗口。但是在LXC1.1.12后,-d参数不再需要。
如果要访问容器,可以通过ssh或者lxc-attach命令,以下三种方式均可
lxc-attach -n mycontainer
ssh user@containerip
lxc-console -n containername
- 1
- 2
- 3
登陆容器之后,你就像在另一个操作系统,在这里可以做一切你想做的。键入exit即可退出容器,如果使用lxc-console登陆,使用ctrl+a+q退出。
两个教程:
入门:https://www.flockport.com/lxc-guide/
进阶:https://www.flockport.com/lxc-advanced-guide/