Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

Linuxコンテナ(LXC)を使ってみた@Ubuntu 14.04

   

Linuxコンテナ(LXC)をUbuntu 14.04上で使用した時のメモです。

 

導入自体は難しくなく、apt-get でインストール可能です。

# apt-get install lxc

インストールすると、lxcbr0というブリッジが作成されます。

# ifconfig lxcbr0
lxcbr0 Link encap:イーサネット ハードウェアアドレス fe:62:b1:xx:xx:xx 
 inetアドレス:10.0.3.1 ブロードキャスト:10.0.3.255 マスク:255.255.255.0
 〜省略〜

 

次に仮想環境(コンテナ)を作ります。

# lxc-create -t ubuntu -n ubuntu01

-t はテンプレートの名前で、/usr/share/lxc/templates/ に、lxc-テンプレート名 というファイルで格納されていますので、このファイルをカスタマイズすれば、自分好みのコンテナが作れるようです。
-n はコンテナの名前で任意の名前をつけられます。

実行時は、ファイルをネットからダウンロードしたり、インストールしルートファイルシステム(rootfs)を作りますので、少し時間を要します。作られたrootfsは、/var/cache/lxc にあります。

起動はlxc-startです。 -d 使えばデーモンとして起動します。

# lxc-start -n ubuntu01 -d

KVMのようにOSを一から起動するわけではないので、起動はすぐに完了します。

 

コンソールにアクセスします。

# lxc-console -n trusty-org
Type <Ctrl+a q> to exit the console, <Ctrl+a Ctrl+a> to enter Ctrl+a itself

Ubuntu 14.04.1 LTS ubuntu01 tty1

ubuntu01 login:

表示されているように、コンソールから抜けるには、Ctrl+a q を入力します。よって、コンソールからログインした場合、カーソルを先頭に移動する、Ctrl+a は使えず、Ctrl+a を二回入力する必要があります。
ちなみに、screenコマンドを使ってlxc-consoleを使うと、デフォルトではscreenコマンドがCtrl+aをフックしてしまいますので、かなり操作が面倒になりますので、lxc の エスケープ文字 Ctrl+a を他のキーに変更するには、-eオプションで指定します。以下の例ではCtrl+a の代わりに Ctrl+qを使用しています。

# lxc-console -e ^q -n ubuntu01
Connected to tty 1
Type <Ctrl+q q> to exit the console, <Ctrl+q Ctrl+q> to enter Ctrl+q itself

Ubuntu 14.04.1 LTS ubuntu01 tty1

ubuntu01 login:

数字をエスケープ文字にしようとしたら、うまく動かなかったので何を使うか注意が必要そうです。

起動したコンテナのrootfsの実態は、/var/lib/lxc の下にあります。ホストOS側からこの下のファイルを直接いじって、コンテナの設定を変更することも可能です。

 

なお、コンテナ起動後、vethXXXXXX といったネットワークインタフェースがホストOSに作られ、lxcbr0ブリッジに繋がれます。

# brctl show
bridge name bridge id STP enabled interfaces
lxcbr0 8000.fe62b1928b39 no veth7YW9KK

また、dnsmasq サービスが起動されるので、コンテナ内ではDHCPでIPが取得可能です。

 

実行しているコンテナの一覧の確認では、–fancyオプションでIPまで確認可能です。

# lxc-ls --fancy
NAME STATE IPV4 IPV6 AUTOSTART 
-----------------------------------------------
ubuntu01 RUNNING 10.0.3.15 - NO

 

コンテナの停止

# lxc-stop -n ubuntu01

コンテナの破棄

# lxc-destroy -n ubuntu01

 - IT技術, サーバ構築

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
VMware Player 3.0 でのネットワーク設定

VMware Player 3.0 にはネットワーク設定の画面がついていないので …

no image
Galaxy SIIIのカメラのシャッター音を消す@Android 4.1.2

root 化した端末必須です。 root 権限で実行でき、/system を読み …

no image
Windowsで円マーク”¥”をバックスラッシュ”\” で表示する

Windowsのフォントは、”¥”を”¥&# …

no image
携帯動画変換君がqt3gppflatten.exeでエラー

なぜか最近携帯用の着うたを携帯動画変換君で3gpに変換しようとすると、qt3gp …

no image
ログアウトしてもプロセスを止めないようにする@bash

bash上で何かプログラムを走らせている時に、ログアウトしてもプロセスを動かし続 …

no image
設定とメールを任意のフォルダに移動@Thunderbird 2

長年使っていたBeckyからThunderbirdに移行を始めました。 Beck …

no image
radikoを出張先で聞く@Windows 7 or XP Professional 以上

普段は自宅が関東にあり、インターネットラジオradikoを聞いていたのですが、出 …

no image
標準出力にタイムスタンプを付与する@Linux

シェルスクリプトの実行結果をファイルに保存する時など、タイムスタンプが欲しい時が …

no image
qcow2のディスクイメージをマウントして編集する@Ubuntu12.04

KVMなどで使われているqcow2形式のディスクイメージは、単純なディスクイメー …

no image
アプリケーションの追加と削除@RHEL5

RHEL5からはパッケージ管理のフロントエンドがyumになってしまったため、リポ …