之前一直在玩虚拟化软件,Xen和KVM。最近了解到一种轻量级的虚拟化软件——LXC(Linux Container)。之所以称之为轻量级的虚拟化软件,是因为LXC不需要像KVM等虚拟化软件那样,需要在Host上安装hypervisor,hypervisor负责管理虚拟机,每个虚拟机都有自己的操作系统,而LXC共享HOST的操作系统,通过cgroup进行资源的限制,chroot进行资源的隔离。
图1:虚拟化软件
图2:Linux容器
LXC的相关入门可以看官网 https://linuxcontainers.org/ 官网上的内容写的还是比较通俗易懂的,看完之后应该可以算使用上入门。
这里记录一些使用的基本步骤
- 安装LXC
在ubuntu上安装lxc还是很容易的,apt源中就已经包含LXC,直接安装就可以了
sudo apt-get install lxc - 创建容器
安装完成后,就可以创建一个容器
lxc-create -t ubuntu -n testvm
ubuntu表示的是操作系统类型
testvm表示的是容器的名字 - 启动、登录容器
创建完成后,通过如下命令可以登录容器
lxc-start -n testvm -d
(后台启动testvm)
lxc-console -n testvm
(登录容器)
ubuntu上的密码会在容器创建好之后告诉你
有些版本上会自动生产一个随机密码,这个密码就放在容器所在的目录
登录容器后可更具需求修改相关的密码
登录容器testvm后,你可以按照自己的需求安装各种软件,如JDK,mysql等
apt-get install mysql-server和在HOST中安装软件没有什么区别。 - 删除容器
停止容器后,就可以删除容器
lxc-stop -n testvm
lxc-destroy -n testvm
其实对一般用户来说,容器和虚拟机没有什么区别,因为对他们来说他们都看到的是一个完整的操作系统。