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
在這里插入圖片描述
接下來就正常管理了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM