简介

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

第二步:添加网桥

下面几步最好同时执行,否则如果你在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 #设置默认网关

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

lxc-checkconfig

没有什么错误,表示没问题

第四步:创建LXC容器

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

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

安装完成之后

这个是说,root密码存放的位置在/var/lib/lxc/lxc_test1/tmp_root_pass中,如果你想自己修改root密码可以使用chroot /var/lib/lxc/lxc_test1/rootfs passwd这个命令
这里我们自己修改一下密码为123456

第五步:启动容器

启动容器

lxc-start  -n lxc_test1

这样,一个容器就启动好了,接下来就是简单的管理和操作了。如果想后台运行使用-d 选项

另起一个终端查看容器相关信息

lxc-info -n lxc_test1

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

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

启动

cd LXC-Web-Panel/
python lwp.py

然后可以访问本机的5000端口

这里的用户名密码默认admin/admin

接下来就正常管理了

LXC简单介绍与使用相关推荐

  1. 遗传算法的简单介绍以及模式定理的简单证明

    遗传算法   遗传算法(Genetic Algorithm,GA),最早是由美国的John holland在20世纪70年代提出.算法通过模拟达尔文生物进化论的自然选择以及遗传学机理的生物进化过程来搜 ...

  2. 2021年大数据ELK(十八):Beats 简单介绍和FileBeat工作原理

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Beats 简单介绍和FileBeat工作原理 一.Beats 二.FileB ...

  3. 2021年大数据ELK(十五):Elasticsearch SQL简单介绍

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Elasticsearch SQL简单介绍 一.SQL与Elasticsear ...

  4. 2021年大数据ELK(二):Elasticsearch简单介绍

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 一.Elasticsearch简介 1.介绍 2.创始人 二.E ...

  5. iOS开发UI篇—多控制器和导航控制器简单介绍

    iOS开发UI篇-多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...

  6. 简单介绍一下R中的几种统计分布及常用模型

    统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...

  7. LVS(Linux Virtual Server)三种负载均衡模型和十种调度的简单介绍

    LVS(Linux Virtual Server)三种负载均衡模型和十种调度的简单介绍 LVS (Linux Virtual Server) LVS(Linux Virtual Server)其实就是 ...

  8. dubbo学习过程、使用经验分享及实现原理简单介绍

    一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下. 整理这篇文章差不 ...

  9. iOS开发UI篇—UIWindow简单介绍

    iOS开发UI篇-UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...

最新文章

  1. 1.8 Remove
  2. logback 的 filter
  3. shiro +spring + spring mvc+ mybatis整合【转】
  4. 组合破解windows域账号
  5. android 跳转到系统设置界面的所有Intent
  6. react学习(41)----react中的jsx简介
  7. 【elasticsearch】 es 路由错误 不到 也可能 查询到的分析
  8. VB 感染EXE 程序病毒源码
  9. AD2S1210的使用总结
  10. 极光java sdk_极光使用服务端使用java sdk 出现异常 日志如下
  11. 通过域名访问文件共享服务器,域名访问共享文件夹
  12. QQ群发消息怎么发?最全攻略分享
  13. Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)
  14. 工业相机概述-选型事项-生产厂家汇总
  15. POJ3608-旋转卡壳
  16. 企业混合多云“芯”体验,上云、用数、赋智“组合拳”
  17. 如何设置本电脑中的mysql让别人的电脑连接
  18. 手机如何打开开发者模式
  19. 用python创建你自己的命令行地址簿程序
  20. MariaDB+Keepalived 搭建双主HA数据库服务

热门文章

  1. 使用 Nginx 管理你的前端资源
  2. HashMap使用containsKey问题
  3. 初学Django:第十一天,shell工具的使用
  4. CREATE TABLE 语句
  5. 电子学:第005课——欧姆定律
  6. python结巴分词代码_python结巴分词SEO的应用详解
  7. 如何根据参考文献查找原文及详细的文献信息
  8. vue-03-传值,组件属性、事件、内容
  9. CommonJs详解
  10. 云计算机怎么打游戏,云即玩游戏盒怎么用 云即玩游戏盒电脑版使用教程