溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

LXC容器怎么在Ubuntu系統(tǒng)中使用

發(fā)布時(shí)間:2021-03-08 10:34:53 來源:億速云 閱讀:320 作者:Leah 欄目:系統(tǒng)運(yùn)維

這篇文章將為大家詳細(xì)講解有關(guān)LXC容器怎么在Ubuntu系統(tǒng)中使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

Ubuntu 下安裝 LXC

使用下面的命令安裝 LXC 在用戶態(tài)的工具:

復(fù)制代碼

代碼如下:

$ sudo apt-get install lxc

然后檢查當(dāng)前內(nèi)核是否支持 LXC。如果所有結(jié)果都是“enable”,說明內(nèi)核支持:

復(fù)制代碼

代碼如下:

$ lxc-checkconfig


 LXC容器怎么在Ubuntu系統(tǒng)中使用  

    安裝完 LXC 工具后,就能看到 LXC 自動(dòng)創(chuàng)建了一塊橋接網(wǎng)卡(lxcbr0,可以在 /etc/lxc/default.conf 中設(shè)置)。
    LXC容器怎么在Ubuntu系統(tǒng)中使用     當(dāng)你創(chuàng)建了 LXC 容器后,它的網(wǎng)口會(huì)自動(dòng)鏈接到這個(gè)橋接網(wǎng)卡上,然后這個(gè)容器就能和外部世界通信了。
創(chuàng)建 LXC 容器

為了在指定環(huán)境下(比如 Debian Wheezy 64位)創(chuàng)建 LXC 容器,你需要一個(gè)相應(yīng)的 LXC 模板。幸運(yùn)的是 LXC 提供的工具集成了一整套現(xiàn)成的 LXC 模板,你可以在 /usr/share/lxc/templates 目錄下找到它們。

復(fù)制代碼

代碼如下:

$ ls /usr/share/lxc/templates


     LXC容器怎么在Ubuntu系統(tǒng)中使用  

     一個(gè) LXC 模板實(shí)質(zhì)上就是一個(gè)腳本,用于創(chuàng)建指定環(huán)境下的容器。當(dāng)你創(chuàng)建 LXC 容器時(shí),你需要用到它們。

比如你要新建 Ubuntu 容器,使用下面的命令即可:

復(fù)制代碼

代碼如下:

$ sudo lxc-create -n <container-name> -t ubuntu


    LXC容器怎么在Ubuntu系統(tǒng)中使用  

    默認(rèn)情況下,這個(gè)命令會(huì)創(chuàng)建一個(gè)最小的 Ubuntu 環(huán)境,版本號與你的宿主機(jī)一致,我這邊是“活潑的蠑螈”(版本號是13.10),64位。

當(dāng)然你也可以創(chuàng)建任何你喜歡的版本,只要在命令里面加一個(gè)版本參數(shù)即可。舉個(gè)例子,創(chuàng)建 Ubuntu 14.10 的容器:

復(fù)制代碼

代碼如下:

$ sudo lxc-create -n <container-name> -t ubuntu -- --release utopic

這個(gè)命令就會(huì)下載安裝指定環(huán)境下的軟件包,創(chuàng)建新容器。整個(gè)過程需要幾分鐘時(shí)間,與容器的類型有關(guān),所以,你可能需要耐心等待。
LXC容器怎么在Ubuntu系統(tǒng)中使用 下載安裝完所有軟件包后,LXC 容器鏡像就創(chuàng)建完成了,你可以看到默認(rèn)的登錄界面。容器被放到 /var/lib/lxc/<容器名> 這個(gè)目錄下,容器的根文件系統(tǒng)放在 /var/lib/lxc/<容器名>/rootfs 目錄下。

創(chuàng)建過程中下載的軟件包保存在 /var/cache/lxc 目錄下面,當(dāng)你想另外建一個(gè)一樣的容器時(shí),可以省去很多下載時(shí)間。

用下面的命令看看主機(jī)上所有的 LXC 容器:

復(fù)制代碼

代碼如下:

$ sudo lxc-ls --fancy </p> <p> NAME STATE IPV4 IPV6 AUTOSTART 
------------------------------------
test-lxc STOPPED - - NO

使用下面的命令啟動(dòng)容器。參數(shù)“-d”將容器作為后臺(tái)進(jìn)程打開。如果沒有指定這個(gè)參數(shù),你可以在控制臺(tái)界面上直接把容器的運(yùn)行程序關(guān)閉(LCTT譯注:Ctrl+C組合鍵)。

復(fù)制代碼

代碼如下:

$ sudo lxc-start -n <container-name> -d

打開容器后,看看狀態(tài):

復(fù)制代碼

代碼如下:

$ sudo lxc-ls --fancy </p> <p> NAME STATE IPV4 IPV6 AUTOSTART 
-----------------------------------------
lxc RUNNING 10.0.3.55 - NO

容器狀態(tài)是“運(yùn)行中”,容器 IP 是10.0.3.55。

你也可以看到容器的網(wǎng)絡(luò)接口(比如我這里是 vethJ06SFL)自動(dòng)與 LXC 內(nèi)部網(wǎng)橋(lxcbr0)連上了:

復(fù)制代碼

代碼如下:

$ brctl show lxcbr0


  LXC容器怎么在Ubuntu系統(tǒng)中使用  

    管理 LXC 容器

我們已經(jīng)學(xué)習(xí)了怎么創(chuàng)建和啟動(dòng) LXC 容器,現(xiàn)在來看看怎么玩一個(gè)正在運(yùn)行著的容器。

第一步:打開容器控制臺(tái):

復(fù)制代碼

代碼如下:

$ sudo lxc-console -n <container-name>


    LXC容器怎么在Ubuntu系統(tǒng)中使用  

    使用“Crtl+a q”組合鍵退出控制臺(tái)。

停止、刪除容器:

復(fù)制代碼

代碼如下:

$ sudo lxc-stop -n <container-name>
$ sudo lxc-destroy -n <container-name>

復(fù)制容器,用下面的命令:

復(fù)制代碼

代碼如下:

$ sudo lxc-stop -n <container-name>
$ sudo lxc-clone -o <container-name> -n <new-container-name>

常見問題

這個(gè)小節(jié)主要介紹你們在使用 LXC 過程中碰到過的問題。

    創(chuàng)建 LXC 容器時(shí)遇到下面的錯(cuò)誤:

復(fù)制代碼

代碼如下:

$ sudo lxc-create -n test-lxc -t ubuntu</p> <p> lxc-create: symbol lookup error: /usr/lib/x86_64-linux-gnu/liblxc.so.1: undefined symbol: cgmanager_get_pid_cgroup_abs_sync

錯(cuò)誤的原因是你運(yùn)行了最新的 LXC,但是它所依賴的 libcgmanager 版本較老,兩者不兼容。升級下 libcmanager 即可解決問題:

復(fù)制代碼

代碼如下:

$ sudo apt-get install libcgmanager0

關(guān)于LXC容器怎么在Ubuntu系統(tǒng)中使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI