Docker 之 LXC介绍
1 概述本段概述出自百度百科:https://baike.baidu.com/item/lxc/6014808
LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与传统虚拟化技术相比,它的优势在于:
(1)与宿主机使用同一个内核,性能损耗小;
(2)不需要指令级模拟;
(3)不需要即时(Just-in-time)编译;
(4)容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制;
(5)避免了准虚拟化和系统调用替换中的复杂性;
(6)轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享。
总结:Linux Container是一种轻量级的虚拟化的手段。
Linux Container提供了在单一可控主机节点上支持多个相互隔离的server container同时执行的机制。Linux Container有点像chroot,提供了一个拥有自己进程和网络空间的虚拟环境,但又有别于虚拟机,因为lxc是一种操作系统层次上的资源的虚拟化。
本文将主要介绍lxc的相关命令使用介绍
2 安装
注意,lxc的相关包在epel源里,要配置好epel源仓库
查看lxc相关包,命令如下
yum list all | grep -i lxc
主要安装lxc和lxc-templates这两个包,其中,lxc-templates实现快速分发和构建系统
命令如下
yum -y install lxc lxc-templates
使用lxc
相关命令如下
lxc-attach lxc-config lxc-freeze lxc-stop lxc-wait
lxc-autostart lxc-console lxc-info lxc-top
lxc-cgroup lxc-create lxc-monitor lxc-unfreeze
lxc-checkconfiglxc-destroy lxc-snapshot lxc-unshare
lxc-clone lxc-execute lxc-start lxc-usernsexec
命令lxc-checkconfig 查看当前lxc的环境是否支持相关功能,显示enabled为支持
3模板拷贝
lxc的模板文件,辅助安装某一目标操作系统的组件,本质上模本是一些脚本文件,执行手动配置的相关命令,设置一个容器,模板放在/usr/share/lxc/templates路径下
命令 lxc-create 通过制定模板进行创建容器
指定模板后,会通过互联网,通过对应配置,连接上对应的yum仓库,下载对应模板的对应的仓库的文件,安装相应模板系统。安装不指定根路径时,则默认根文件路径是/var/lib/lxc,要确保这个路径下有足够的空间可以安装
如果不想通过互联网的仓库进行安装,可以更改模板中的yum源为本地的yum源,主要更改baseurl,安装会更快,不用到互联网上安装,默认是安装一个最小化的包,
如下,更改lxc-centos模板中的yum源为本地光盘,禁用更新源
cp /usr/share/lxc/templates/lxc-centos /root/lxc-centos
vim /root/lxc-centos
name=local repository
baseurl="$repo"
EOF
elif [ ${basearch} = 'i386' ] || [ ${basearch} = 'x86_64' ]; then
cat
页:
[1]