基於Centos7 建立乙個lxc

2021-08-13 20:47:08 字數 2060 閱讀 6580

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請求

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

檢查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。能夠從容器退出到宿主機中。

基於CentOS 7配置

配置網路 centos 7安裝完成後沒有開啟網路連線,可以更改配置檔案開啟。檢視本機ip,找到ensxx 開啟配檔案 etc sysconfig network scripts ifcfg ens33,更改內容如下,退出編輯esc儲存 w退出 q 如果不想配置靜態ip。可以只更改onboot yes...

基於Centos7快速建立虛擬的指令碼

bin bash etc init.d functions conf dir etc libvirt qemu img dir var lib libvirt images function createvm img then echo warning echo vm img is exists r...

基於CentOS 7 搭建 GitLab

系統要求 centos 7.2 64 位作業系統 yum update y 安裝 sshd yum install y curl policycoreutils python openssh server 啟用並啟動 sshd systemctl enable sshd systemctl star...