2015-04-20

LXC 建立拋棄式 Container (Ephemeral Containers)

阿舍用 LXC Container 已經有好一陣子了,但是,都沒有注意到,直到阿舍最近又去查 Ubuntu 的官網文件時才發現到,原來這個 LXC Container 還有提供一個叫「Ephemeral Container (拋棄式 Container )」的功能,拋棄式 ? 好像還滿有趣的,所以,阿舍就找了個時間來試用了一下,嗯 ... 還滿實用的哩 ! 雖然,偶爾沒有真的那麼 "拋棄式" 哩 ! ... 呵 !



這個 Ephemeral Container 的好用之處,就是可以直接從一個現有的 Container 另外建立並啟動一個這個 Container 的副本,然後,當你關閉這個  Container 之後,這個 Container 就會自動的被刪除,不留下任何的痕跡哩 ! 不過,阿舍試的時候發現,並不是每次都可以自動拋棄成功,偶爾,還是會繼續留著的,但是,大部份是和 Container 無法順利被關閉有關的哩 ...

如果沒指定名稱,LXC 會自動給拋棄式 Container 一個名稱
這種拋棄式 Container 最好用的地方,就是當你想要用某一個 Container 的環境來測東西,但是,又不想把測試的環境保留下來,或是,不想改變要用來測試的這個 Container 的內容,因此,就可以利用這種拋棄式 Container 的方式來做測試囉 !

舉例來說,阿舍想要用名稱為 u1404b 的 Container 來啟動一個 Container 做測試,那麼阿舍就可以用下面第一行的指令來立即啟動一個從 u1404x 複製出來的 Container,這樣,就會馬上進入這個新建的 Container 的 Console 中,等阿舍按 \ q 來離開這個 Container 後,這個 Container 就會被移除了哩 !

$ lxc-start-ephemeral -o u1404b

阿舍要提醒的是,建立抛棄式 Contianer 的時候和使用 lxc-clone 複製 Container 是相同的,就是被複製的 Container 是不可以在啟動中的,另外,抛棄式 Contianer 也是可以啟動在 Daemon 模式,同時,也可以指定 Container 名稱的,操作方式就像下面這一行,-n 選項後面放的是新建的 Container 的名稱,而 -d 選項則表示要讓新建的 Container 以 Daemon 方式啟動。

$ sudo lxc-start-ephemeral -o u1404b -n u1404tt -d

以上面這一行的方式建立和啟動後的抛棄式 Container 不會在退出 Console 的時候自動刪除這個新建的 Container,而是會在執行 lxc-stop 指令來關閉這個 Container 之後的, 這是上面提到的兩種啟動方式在主要的差別之一。

如果,這個抛棄式 Container 在使用完之後沒有自盡成功的話,還是可以用 lxc-destroy 指令來消滅它的哩 ! ...




推薦閱讀


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

沒有留言 :

張貼留言

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