標籤:
下面的步驟均在Ubuntu 12.04上執行。
安裝
想在Ubuntu上使用LXC,就要安裝LXC使用者空間工具,如下所示。
$ sudo apt-get install lxc
安裝完畢之後,運行lxc-checkconifg工具,檢查當前Linux核心支援LXC的情況。要是一切都已被啟用,核心對LXC的支援已準備就緒。
$ lxc-checkconfig
安裝LXC工具後,你會發現,LXC的預設橋接器介面(lxcbr0)已自動建立(已在/etc/lxc/default.conf中加以配置)。
建立LXC容器後,視窗的介面就會自動連接到該橋接器,那樣容器就能與外界進行聯絡了。
使用方法建立LXC
以建立一個名為precise的Ubuntu 12.04容器為例。
需要建立一個基礎的設定檔。由於建立LXC完成後,不再需要該設定檔(可以刪除),故該檔案的名字和路徑沒有特殊要求。這裡命名為precise.conf,放在當前路徑下:
lxc.network.type = vethlxc.network.flags = uplxc.network.name = eth0lxc.network.link = lxcbr0
lxcbr0為由LXC包建立的虛擬橋接器,通過ifconfig可以知道其IP地址10.0.3.1,網段10.0.3.1/24,容器將通過lxcbr0與外界通訊。
如此,可以開始建立容器了:
$ sudo lxc-create -n precise -f precise.conf -t ubuntu -- -r precise
- -n指定容器名,這裡為precise。
- -f指定基礎設定檔,即上一步驟建立的precise.conf。
- -t指定模板名,這裡必須為ubuntu(建立Ubuntu 12.04)。每個模板名,對應一個指令碼,它們存放在/usr/lib/lxc/templates目錄(檔案名稱形如lxc-<模板名>)中。
- —以後的參數被傳遞給模板指令碼;
- -r為ubuntu模板指令碼的參數,表示Ubuntu發行版代號,這裡必須為precise(它是12.04的發行代號)。
建立過程可能會比較漫長。通過閱讀/usr/lib/lxc/templates/lxc-ubuntu,不難發現建立ubuntu容器主要依靠deboostrap來完成。
啟動LXC
若需立即啟動LXC,則:
$ sudo lxc-start -n precise [command]
若需以daemon方式運行,則:
$ sudo lxc-start -n precise –d [command]
若需隨host os啟動而自動啟動,則:
$ sudo ln -s /var/lib/lxc/precise/config /etc/lxc/auto/precise.conf
開啟LXC控制台
在沒有給容器設定IP時,開啟其控制台
$ sudo lxc-console -n precise
將看到文本登入介面。 通過按熱鍵ctrl-a和q,可以退出容器控制台。
更多的時候,通過ssh登入將更方便,特別是key認證方式登入。
停止LXC
多數情況下,可以通過在guest os(容器)內執行poweroff或shutdown -h now來關閉容器。但有些時候卻需要在host os上強行關閉容器,如:
$ sudo lxc-stop -n precise
刪除LXC
容器建立後,配置和資料存放在/var/lib/lxc/precise目錄中。執行
$ sudo lxc-destroy -n precise
與手動刪除該目錄效果一樣。
轉自:http://www.malike.net.cn/blog/2013/11/10/lxc-tutorial/
LXC(Linux Containers)安裝及使用