基于Centos7 创建一个lxc

创建lxc

1.首先需要安装epel-release。
Yum install -y epel-release
因为在LXC virtualization是在epel中提供的。

2.在安装LXC之前,要确保perl和debootrap包已经安装完毕。
Yum install -y deboostrap perl libvirt
1)一般在linux系统上面有perl解释器,可以使用which perl命令判断是否有该语言的解释器
2)Deboostrap 是debian/ubuntu 下的一个工具,用来构建一套基本的系统。对应的,有fedora也有类似的功能。lxc会为每个虚拟机构建基本的文件系统,这是一个虚拟的文件系统,众多的虚拟机在底层是共享一套文件系统的。具体的见/var/lib/lxcl/lxc_name文件夹下有个rootfs文件夹。那么什么是rootfs?就是文件系统的架构,是一种目录结构,是让操作系统正常运行的文件夹和文件的集合。
3)Libvirt
libvirt是ilinux上的虚拟化库,可以为虚拟机空间程序的常用功能提供通用的C语言API。是KVM,Xen,LXC主流虚拟化方案。libvirt通过特定于虚拟机监控程序的机制与每个有效虚拟机监控程序进行通信,完成API请求

3.安装lxc及其模板
Yum install -y lxc lxc-template
1.lxc-template是lxc的模板,其实是一个原型,根据原型可以创建一系列类似的lxc虚拟机。在本机的存放路径:/usr/share/lxc/templates,包括各种操作系统的模板。类似docker中的image.但是不同的是模板里面存放的是路径。在使用的时候从链接下载需要的模板。
可以创建自己的模板, 编写conf文件,类似于dockerfile.
使用命令:ls -alh /usr/share/lxc/templates可以列出已经安装到系统各种可用的LXC模板

2.在lxc-execute时需要使用到lxc

4.确定lxc与libvirt是否已经运行
Systemctl status lxc.service
Systemctl start lxc.service
Systemctl start libvirtd
Systemctl status lxc.servoce
在start lxc的时候报错:
failed to attach ‘vethL3Q5X1’ to the bridge ‘virbr0’: No such device
参照链接:https://unix.stackexchange.com/questions/179353/failed-to-attach-veth87vsij-to-the-bridge-virbr0-no-such-device
检查libvirt的状态:
Systemctl stats libvirtd,果然该服务没有启动
运行命令:
Systemctl enable libvirtd
Systemctl start libvirtd
应该是前面在执行的时候漏掉了这个命令。

5.检查lxc内核虚拟化状态
Lxc-checkconfig

6.创建容器
Lxc-create -n test1 -t debian
在create的时候,如果没有-f选项,默认会去读一个配置文件:/etc/lxc/default.conf
本机中配置信息如下:
lxc.network.type = veth
lxc.network.link = virbr0
lxc.network.flags = up
其中,lxc.network.type指定用于容器的网络类型,而veth代表为容器建立新的网络空间,并链接到lxc.network.link定义的网桥上,实现与外部通信
Lxc.network.link 指定用于和容器接口通信的真实接口。 virbr0是一个虚拟网桥。是KVM默认创建的一个Bridge,主要为连接骑上的虚拟网卡提供NAT访问外网的功能。哈哈,NAT(Network Address Translation,网络地址转换)
Lxc.network.flags用于指定网络的状态,up为网络处于可用状态
那么现在的ifconfig的状态呢?

创建完lxc之后,会在/var/lib/lxcl/lxc_name目录下生成config,rootfs

lxc虚拟出的完整的系统环境,在rootfs中
这里写图片描述

Lxc-create 创建虚拟机
Lxc-start 开启虚拟机
Lxc-stop关闭虚拟机

在安装之后,系统会自动生成一个root的密码,我们可以对其中的密码进行修改。
1)查看密码:
Cat /var/lib/lxc/lxc_name/tmp_root_pass
2)修改密码
chroot /var/lib/lxc/mydcb/rootfs passw 用以设置root的密码。

7.启动容器,一般采用后台的运行方式
Lxc-start -n test1 -d
其中-d选项为后台运行模式

8.lxc-ls 列出所有的容器,lxc-ls –active列出正在运行的容你过去,lxc-info -n test1 列出test容器的状态

9.进入容器 lxc-console -n test1

10.退出容器,ctrl+a,再输入q。能够从容器退出到宿主机中。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值