在libvirt 中体验容器

简介:

libvirt是一个通用的虚拟化框架,支持xenkvmlxc多种虚拟化技术,本文作为一个笔记。


设置LXC为默认(默认为qemu

export LIBVIRT_DEFAULT_URI=lxc:///


virsh -c lxc:/// 可省略


网络设置


NAT

NATlibvirt默认自带,叫做default,通过下面的 命令查看

1
virsh net-list


假设宿主机有两个网卡,eth0为内网,eth1为外网,我们可以为容器桥接出两个接口:


#cat lan.xml

1
2
3
4
5
< network >
    < name >lan</ name >
    < forward  mode = "bridge"  />
       < interface  dev = "eth0"  />
  </ network >

#cat wan.xml

1
2
3
4
5
< network >
   < name >wan</ name >
      < forward  mode = "bridge"  />
        < interface  dev = "eth1"  />
   </ network >
1
2
3
导入配置
virsh net-define lan.xm
virsh net-define wan.xml

开启网卡

1
2
3
4
virsh net-start lan
virsh net-autostart lan
virsh net-start wan
virsh net-autostart wan


应用容器

应用容器共享宿主机的各种资源,包括内核,各种软件包,各种库,它仅有一个独立的运行空间,像是一个沙箱环境。


创建一个名为web的应用容器

cat web.xml

1
2
3
4
5
6
7
8
9
10
11
< 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

1
virsh define web.xml

开机启动

1
virsh autostart web

进入容器

1
virsh console web

编辑容器配置

1
virsh edit web

删除容器

1
virsh undefine web


操作系统容器

操作系统容器除了Linux内核,自己包含一整套运行环境,像是一个chroot环境。


操作系统容器创建稍稍复杂一点


1、创建根目录

1
mkdir  -p  /lxc/centos7

2、下载并解压镜像  http://images.linuxcontainers.org/images/centos/7/amd64/default/20140807_02:37/rootfs.tar.xz


1
2
3
4
cd  /lxc/centos7
wget   xxx
xz -d rootfs. tar .xz
tar  xvf rootfs. tar

3、创建xml模板

cat centos7.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
< 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 >


导入容器

1
virsh define centos7.xml

启动容器

1
2
virsh start centos7
virsh autostart centos7

进入容器

1
virsh console centos7

停止开机启动

1
virsh autostart --disable centos7


退出lxc console

ctrl+]










本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/1537221,如需转载请自行联系原作者

目录
相关文章
|
3月前
|
弹性计算 Cloud Native C++
云原生时代,如何用一行命令将开发环境部署到云端?
你是否也曾苦恼于本地开发环境的种种困境?配置复杂、性能瓶颈、团队协作环境不统一……本文将介绍一种革命性的解决方案:Dev Containers,并手把手教你如何借助容器技术,实现开发环境的秒级搭建与云端部署,真正做到“一次配置,处处运行”。
|
存储 监控 搜索推荐
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
|
运维 Serverless Nacos
nacos常见问题之连接异常如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
782 0
nacos常见问题之连接异常如何解决
|
6月前
|
Linux 虚拟化 iOS开发
Debian 13 x86_64 OVF (sysin) - VMware 虚拟机模板
Debian 13 x86_64 OVF (sysin) - VMware 虚拟机模板
489 0
Debian 13 x86_64 OVF (sysin) - VMware 虚拟机模板
|
11月前
|
存储 机器学习/深度学习 人工智能
TaoAvatar:手机拍出电影级虚拟人!阿里3D高斯黑科技让动捕设备下岗
阿里巴巴最新推出的TaoAvatar技术,通过3D高斯溅射实现照片级虚拟人实时渲染,支持多信号驱动与90FPS流畅运行,将彻底改变电商直播与远程会议体验。
726 8
TaoAvatar:手机拍出电影级虚拟人!阿里3D高斯黑科技让动捕设备下岗
|
Web App开发 缓存 监控
如何使用 Chrome DevTools 的 Performance 面板进行页面加载性能分析?
如何使用 Chrome DevTools 的 Performance 面板进行页面加载性能分析?
|
SpringCloudAlibaba 负载均衡 Dubbo
【SpringCloud Alibaba系列】Dubbo高级特性篇
本章我们介绍Dubbo的常用高级特性,包括序列化、地址缓存、超时与重试机制、多版本、负载均衡。集群容错、服务降级等。
1920 6
【SpringCloud Alibaba系列】Dubbo高级特性篇
|
定位技术 图形学 开发者
【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇1(附项目源码)
【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇1(附项目源码)
1346 1
|
机器学习/深度学习 人工智能 运维
智能化运维:AIOps在未来网络管理中的应用与挑战
【5月更文挑战第4天】随着人工智能和大数据技术的飞速发展,智能化运维(AIOps)正逐渐成为IT运维领域的革新力量。本文探讨了AIOps在现代网络管理中的关键作用,分析了其在故障预测、自动化处理、以及提升决策效率方面的潜力。同时,文章还针对AIOps实施过程中面临的技术挑战、数据隐私及安全性问题进行了深入讨论,并提出了相应的解决策略。通过实际案例分析,本文旨在为读者提供一个关于AIOps在网络管理领域应用的全面视角。
|
API 开发工具 Android开发
安卓可穿戴设备开发:智能手表和健身手环
【4月更文挑战第14天】本文探讨了安卓可穿戴设备,如智能手表和健身手环的开发,强调了理解用户交互、利用Wear OS SDK和Fit API、优化电池续航及保障隐私安全的重要性。开发者需设计适应语音、手势和触摸的UI,通过Fit API处理健康数据,同时关注能耗优化和数据安全,以创造创新且用户友好的应用,适应日益增长的市场需求。
613 2