きっかけ
- Qiita で見かけたこちらの記事を早速試してみた
- LXC Web Panel は Python の Flask というウェブフレームワークと Flatstrapというウェブフロントフレームワークで作られている
参考
設定
環境
- Ubuntu 13.04
- LXC 0.9.0(LXC 0.8 or higher)
- ドキュメントによると
/var/lib/lxcがLXC ROOT PATHでなければならない
インストール
とっても簡単。
python-dev のインストール
sudo apt-get install python-dev
自動インストールスクリプトでインストール
wget http://lxc-webpanel.github.io/tools/install.sh -O - | bash
以下のような画面が表示される。

とりあえず使ってみる
ブラウザでアクセス
http://xxx.xxx.xxx.xxx:5000/ でアクセスすると以下のようなページが表示される。デフォルトでユーザー名 admin とパスワード admin でアクセス出来る。

トップページ(Overview)

すべてのコンテナが停止状態。
コンテナを起動させた状態

squeeze-test1 というコンテナを起動した状態。コンテナ名 Name をクリックすると以下のように各コンテナの詳細が確認出来る。

むむ。IP アドレスが取得出来ていないような...。コマンドラインから確認すると...

lxc-ls --fancy で確認すると IP アドレスは取得出来る。残念。とは言え、ちゃんとコンテナにはログイン出来る。

コンテナのクローンを作成してみる
コンテナの作成等も出来るが、とりあえずクローンを試してみる。
Overview から Clone CT をクリック

オリジナルと新しいコンテナの名前を指定する
オリジナルのコンテナ名をプルダウンで選択し新しいコンテナ名を設定して Clone をクリックする。

クローンが作成された
ちゃんとクローンが作成された。下図、panel-test がクローン。

コンソールからアクセスしてみた
念の為、lxc-ls で確認して、コンソールにアクセスしてみた。

おお。嬉しい。
ざっと使ってみて
- 従来のコマンドラインの操作が GUI でワンタッチで操作出来るようになったのが嬉しい
- 検証した環境ではコンテナの IP アドレスが取得出来ない現象を確認した(ちょっと調査してみる)
気づいた点、調べた点
コンテナの設定パス
こちらで以下のように /var/lib/lxc/%s/config と直書きになっている...
LXC ROOT PATH が /var/lib/lxc 決め打ちな理由ですかな。
IP アドレスが取得出来ない
Web Panel で IP アドレスが表示されない理由も上記のソースコードにヒントがあった。
上記のように cgroup の ipv4 から取得しているっぽい。IP アドレスが表示されないコンテナは /var/lib/lxc/%s/config には IP アドレスは設定していない。となると、謎が深まるのが lxc-ls --fancy で取得される IP アドレスはどこから取得してきているのか...。