首页 > 代码库 > 在libvirt 中体验容器
在libvirt 中体验容器
libvirt是一个通用的虚拟化框架,支持xen,kvm,lxc多种虚拟化技术,本文作为一个笔记。
设置LXC为默认(默认为qemu)
export LIBVIRT_DEFAULT_URI=lxc:///
virsh -c lxc:/// 可省略
网络设置
NAT
NAT是libvirt默认自带,叫做default,通过下面的 命令查看
virsh net-list
假设宿主机有两个网卡,eth0为内网,eth1为外网,我们可以为容器桥接出两个接口:
#cat lan.xml
<network> <name>lan</name> <forward mode="bridge" /> <interface dev="eth0" /> </network>
#cat wan.xml
<network> <name>wan</name> <forward mode="bridge" /> <interface dev="eth1" /> </network>
导入配置 virsh net-define lan.xm virsh net-define wan.xml
开启网卡
virsh net-start lan virsh net-autostart lan virsh net-start wan virsh net-autostart wan
应用容器
应用容器共享宿主机的各种资源,包括内核,各种软件包,各种库,它仅有一个独立的运行空间,像是一个沙箱环境。
创建一个名为web的应用容器
cat web.xml
<domain type="lxc"> <name>web</name> <memory>102400</memory> <os> <type>exec</type> <init>/bin/sh</init> </os> <device> <console type="pty" /> </device> </domain>
导入virsh
virsh define web.xml
开机启动
virsh autostart web
进入容器
virsh console web
编辑容器配置
virsh edit web
删除容器
virsh undefine web
操作系统容器
操作系统容器除了Linux内核,自己包含一整套运行环境,像是一个chroot环境。
操作系统容器创建稍稍复杂一点
1、创建根目录
mkdir -p /lxc/centos7
2、下载并解压镜像 http://images.linuxcontainers.org/images/centos/7/amd64/default/20140807_02:37/rootfs.tar.xz
cd /lxc/centos7 wget xxx xz -d rootfs.tar.xz tar xvf rootfs.tar
3、创建xml模板
cat centos7.xml
<domain type="lxc"> <name>centos7</name> <memory unit="KiB">1048576</memory> <currentMemory unit="KiB">1048576</currentMemory> <resource> <partition>/machine</partition> </resource> <os> <clock offset=‘utc‘ /> <on_poweroff>destory</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart<on_crash> </devices> <emulator>/usr/lib/libvirt/libvirt_lxc</emulator> <filesystem type=‘mount‘ accessmode=‘passthrough‘> <source dir=‘/lxc/centos7‘/> <target dir=‘/‘/> </filesystem> <interface type=‘network‘> <mac address=‘00:16:3e:52:87:f1‘/> <source network=‘lan‘/> </interface> <console type=‘pty‘> <target type=‘lxc‘ port=‘0‘/> </console> </devices> </domain>
导入容器
virsh define centos7.xml
启动容器
virsh start centos7 virsh autostart centos7
进入容器
virsh console centos7
停止开机启动
virsh autostart --disable centos7
退出lxc console
ctrl+]
本文出自 “专注Linux 运维” 博客,请务必保留此出处http://purplegrape.blog.51cto.com/1330104/1537221
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。