開始試試看 LXC,LXC 是輕量級的虛擬環境,沒有摹擬硬體層,硬體層是跟 Host 共用,最大的好處就是建一個 container 的成本遠比用 VirtualBox/VMWare 建 VM 來的低。
Ubuntu 12.04 上預裝好的 LXC 是 0.75 版,現在已經是 1.0 了,要使用最新的版本,可以用這個 PPA:ppa:ubuntu-lxc/stable 。在 0.75 時,只要安裝 lxc 即可;到了 1.0 版,拆成兩包:lxc 跟 lxc-templates ,所以安裝時要用 sudo apt-get install lxc lxc-templates 。
主要的操作,ls /usr/bin/lxc-* 就可以看到,這裡講一下比較入門的指令 (其實是我現在也只有用到這些):
- 建立 container :sudo lxc-create -n container_name ,加 -t 可以指定要使用的 template,template 可以想作是 distribution,前面提到的 lxc-templates 裡面就是放已經客製好的 template,也可以自己做。所以你可以建 archlinux 的 container 或是 opensuse 的 container 來練習。
- 刪除 container :sudo lxc-destroy -n container_name
- 啟動 container :sudo lxc-start -n container_name ,執行完,終端機會馬上被 container 接手,輸入預設的帳號跟密碼 ubuntu/ubuntu 就可以登入。如果不想被 container 接手,可以加上 -d 。
- 停止 container :sudo lxc-stop -n container_name
- 列出現有的 container: sudo lxc-ls -f
- 連上已經啟動的 container :sudo lxc-console -n container_name
- 連上已經啟動的 container 並執行指定指令:sudo lxc-attach -n container_name command
大致上就這樣,現在還有 docker ,其實它就根植在 LXC 上,主要是簡化自動化操作,大部分都用來測試,晚點再來看看怎麼用。
參考資料:
- https://linuxcontainers.org/
- linux虛擬環境LXC
- LXC, Docker, Security :這篇是討論 LXC 安全問題的,有交代一下 LXC 與 Docker 的關係,蠻值得一看。
- Ubuntu Server Guide – LXC
- Gentoo guide: http://wiki.gentoo.org/wiki/LXC
- Arch guide: https://wiki.archlinux.org/index.php/Linux_Containers
- 解釋原理的 http://www.slideshare.net/BodenRussell/realizing-linux-containerslxc