lxc 覚え書き

基本操作

  • コンテナの作成

    # lxc-create -t <コンテナのテンプレート> -n <コンテナ名>
    
    • -t でコンテナのテンプレートを指定する。使えるテンプレートは /usr/lib/lxc/templates/ を参照すること。
  • コンテナの起動

    # lxc-start -n <コンテナ名> -d
    
    • -d で、コンテナをデーモンとして起動する。
  • コンテナのコンソールを開く

    # lxc-console -n <コンテナ名>
    
    • コンソールから抜けるには Ctrl-a q
  • コンテナの一覧をみる

    # lxc-ls
    
    • --active で現在実行中のコンテナだけが表示される。
    • --fancy で全コンテナの稼動状態や IP アドレスなどの情報がテーブルで出力される。
  • コンテナの情報表示

    # lxc-info -n <コンテナ名>
    
  • コンテナの停止

    # lxc-stop -n <コンテナ名>
    
  • コンテナのスナップショットを取る

    # lxc-snapshot -n <コンテナ名>
    
    • スナップショットの一覧表示は lxc-snapshot -n <コンテナ名> -L -C
  • コンテナのクローン

    # lxc-clone -o <クローン元コンテナ> -n <新規コンテナ名>
    
  • コンテナの削除

    # lxc-destroy -n <コンテナ名>
    

ネットワーク

デフォルトで lxcbr0 というブリッジ (仮想スイッチ) が作成され、ホストの NIC (eth0) と NAT で接続されている。コンテナの仮想 NIC は仮想ネットワークインターフェース (veth*) 経由で lxcbr0 とつながっている。

+-----------------------------------------------------+
| Host                                  +-----------+ |
|                                       | Container | |
|                                       |           | |
+------+         +--------+  +-------+  +------+    | |
| eth0 |--(NAT)--| lxcbr0 |--| veth* |--| eth0 |    | |
+------+         +--------+  +-------+  +------+    | |
|                                       |           | |
|                                       +-----------+ |
+-----------------------------------------------------+

ブリッジの作成、設定

ホスト側でブリッジ (br0) を作り、コンテナをブリッジに接続する。

  • /etc/network/interfaces

    auto br0
    iface br0 inet dhcp
      bridge_ports eth0
      bridge_stp off
    
  • /var/lib/lxc/<コンテナ名>/config

    • lxc.network.link = br0
  • 現在有効なブリッジの確認は `brctl show'