下面的步驟均在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 = veth
lxc.network.flags = up
lxc.network.name = eth0
lxc.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
與手動删除該目錄效果一樣。