2015-04-06

LXC Container 變更名稱

阿舍想把某一個 LXC 建立的 Container 的名稱做變更,於是,阿舍就再查了一次 LXC 的指令清單,果然,是沒有一個叫做 lxc-rename 的程式可用哩 ! 所以,就只能自己想辦法囉 ! 阿舍本來想說,大概只能用搬移的方式和調整設定檔的方式來變更 Container 的名稱,然後,阿舍查到也差不多是這個做法,不過,阿舍後來突然想到了另一個比較簡單的方式哩 ! ...


阿舍本來已經準備要開始用 mv 指令來把 /var/lib/lxc 資料夾下的 Container 來搬移順便更換名稱了,但是,阿舍心裡還是覺得這樣手動搬的方式還是有點麻煩的,所以,手就操作的很遲疑,然後,阿舍就突然想起來這個 LXC 有一個指令叫做 lxc-clone 的,可以用來複製 Container,而且,還可以重新命名 Conatiner 的名稱哩 ! ... 呵 !

利用 lxc-clone 建立新 Container 
所以,阿舍就趕快用這個 lxc-clone 指令來試了一下,嗯 ... 果然和阿舍預期的一樣,可以達到更名 Container 的效果哩 ! 以阿舍要把 u1404b 這個 Container 更名為 couchdb 為例,阿舍就先把 u1404b 這個 Container 停止運轉,然後,用 lxc-clone 把它複製成 couchdb,最後,再用 lxc-destroy 指令來把原來的 u1404b 給刪除,這樣就可以達到阿舍想要的效果囉 !

$ sudo lxc-stop -n u1404b
$ sudo lxc-clone -o u1404b -n couchdb
$ sudo lxc-destroy -n u1404b

這個 lxc-clone 除了可以用來更換 Container 的名稱之外,阿舍後來發現另一個也滿不錯的用法,就是直接用 lxc-clone 取代 lxc-create 來建立新的 Container,阿舍發現每個建新建的 Container 幾乎都要執行幾個相同的指令和安裝幾個相同的套件,所以,阿舍就乾脆直接弄好一個叫做 base 的 Container,然後,之後如果需要建立新的 Container 的時候,就直接用 lxc-clone 從 base 這個 Container 來複製成新的 Container,這樣,就可以既快速又省時的產出新 Container 囉 ! ... 有在用 Container 的人可以試試,阿舍覺得還滿方便的哩 !



推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁