您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(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 工具后,就能看到 LXC 自動(dòng)創(chuàng)建了一塊橋接網(wǎng)卡(lxcbr0,可以在 /etc/lxc/default.conf 中設(shè)置)。
當(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
一個(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
默認(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 容器鏡像就創(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 容器
我們已經(jīng)學(xué)習(xí)了怎么創(chuàng)建和啟動(dòng) LXC 容器,現(xiàn)在來看看怎么玩一個(gè)正在運(yùn)行著的容器。
第一步:打開容器控制臺(tái):
復(fù)制代碼
代碼如下:
$ sudo lxc-console -n <container-name>
使用“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ò),可以把它分享出去讓更多的人看到。
免責(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)容。