zoukankan      html  css  js  c++  java
  • LXC简单介绍与使用

    https://blog.csdn.net/L835311324/article/details/84488470

    LXC(LinuX Containers)Linux容器,一种操作系统层虚拟化技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器(Container),内含应用软件本身的代码,以及所需要的操作系统核心和库。透过统一的名字空间和共享API来分配不同软件容器的可用硬件资源,创造出应用程序的独立沙箱运行环境,使得Linux用户可以容易的创建和管理系统或应用容器。
    在Linux内核中,提供了cgroups功能,来达成资源的隔离。它同时也提供了名称空间隔离的功能,使应用程序看到的操作系统环境被区隔成独立区间,包括进程树,网络,用户id,以及挂载的文件系统。但是cgroups并不一定需要启动任何虚拟机。
    LXC利用cgroups与名称空间的功能,提供应用软件一个独立的操作系统环境。LXC不需要Hypervisor这个软件层,软件容器(Container)本身极为轻量化,提升了创建虚拟机的速度。

    而Docker本质来说不是容器,而是容器的管理工具,最初的Docker也是基于LXC实现的。

    LXC关键技术点:

    • chroot,根切换,从容器内的角度来看,仿佛真的有自己的根树
    • namespaces:名称空间,负责将资源隔离,比如pid,网络,mnt,user,uts等
    • CGroups:控制组,负责控制资源的分配

    LXC基本架构

    在这里插入图片描述

    LXC常用命令

    • lxc-checkconfig
      检查系统环境是否满足容器使用要求;

    • lxc-create
      创建lxc容器;
      格式:lxc-create -n NAME -t TEMPLATE_NAME

    • lxc-start
      启动容器;
      格式:lxc-start -n NAME -d

    • lxc-info
      查看容器相关的信息;
      格式:lxc-info -n NAME

    • lxc-console
      附加至指定容器的控制台;
      格式:lxc-console -n NAME -t NUMBER

    • lxc-stop
      停止容器;

    • lxc-destory
      删除处于停机状态的容器;

    • lxc-snapshot
      创建和恢复快照;

    • 退出容器方式:<Ctrl+a q>

    LXC简单使用

    第一步:安装LXC与网桥管理工具包

    lxc在epel源中所以需要先添加epel源仓库

    yum install -y epel-release
    yum install lxc-templates lxc  bridge-utils -y
    
    • 1
    • 2

    第二步:添加网桥

    下面几步最好同时执行,否则如果你在xshell终端上会断网

    brctl addbr virbr0  #添加网桥
    brctl addif virbr0 ens33 ; # 将网桥关联到ens33这个网卡 
    ip addr del dev ens33 192.168.253.128/24 ; #把网卡上的ip删了 
    ifconfig  virbr0 192.168.253.128/24 up  #给网桥配置ip 
    route add default gw 192.168.253.2 #设置默认网关
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    第三步:检查系统是否满足容器使用要求

    lxc-checkconfig
    
    • 1

    没有什么错误,表示没问题
    在这里插入图片描述

    第四步:创建LXC容器

    创建LXC容器要基于模版,这里使用/usr/share/lxc/templates/lxc-centos这个模版,这个模版其实就是一个脚本,定义了这个容器需要的文件,环境,然后去指定的镜像源安装。这个其实也是LXC容器一个缺点,显得太过笨重臃肿了。

    lxc-create --name=lxc_test1 -t /usr/share/lxc/templates/lxc-centos
    
    • 1

    安装完成之后
    在这里插入图片描述
    这个是说,root密码存放的位置在/var/lib/lxc/lxc_test1/tmp_root_pass中,如果你想自己修改root密码可以使用chroot /var/lib/lxc/lxc_test1/rootfs passwd这个命令
    这里我们自己修改一下密码为123456
    在这里插入图片描述

    第五步:启动容器

    启动容器

    lxc-start  -n lxc_test1 
    
    • 1

    这样,一个容器就启动好了,接下来就是简单的管理和操作了。如果想后台运行使用-d 选项
    在这里插入图片描述
    另起一个终端查看容器相关信息

    lxc-info -n lxc_test1
    
    • 1

    在这里插入图片描述

    其他的管理操作可以查看上面的常用命令

    LXC的图形界面

    项目地址为
    https://github.com/lxc-webpanel/LXC-Web-Panel
    官网
    http://lxc-webpanel.github.io/

    安装方法也很简单

    yum install git  -y #项目在github上,可以利用git拉下来
    yum install python-pip -y 
    pip install flask==0.9
    git clone https://github.com/lxc-webpanel/LXC-Web-Panel.git
    
    • 1
    • 2
    • 3
    • 4

    启动

    cd LXC-Web-Panel/
    python lwp.py
    
    • 1
    • 2

    然后可以访问本机的5000端口
    在这里插入图片描述
    这里的用户名密码默认admin/admin
    在这里插入图片描述
    接下来就正常管理了

  • 相关阅读:
    realsense d435i qt 测试
    realsense d435i 数据 测试
    realsense d435i测试
    ubuntu torch GPU yolov5
    IfcLayeredItem
    ubuntu大服务器 pytorch环境配置
    condarc内容
    realsense point cloud
    yolov5 环境配置
    pip error
  • 原文地址:https://www.cnblogs.com/mydriverc/p/13414888.html
Copyright © 2011-2022 走看看