インストール
$ sudo apt-get install lxc
基本事項
- lxc-* コマンドの多くは、-n オプションでコンテナ名を指定します。
- テンプレートは、"/usr/lib/lxc/templates/lxc-テンプレート名" にある。(Ubuntu 12.04 LTS)
- テンプレートは、"/usr/share/lxc/templates/lxc-テンプレート名" にある。(Ubuntu 12.10)
- コンテナの設定は、"/var/lib/lxc/コンテナ名/config" 以下に保存される。
- ファイルシステムは、"/var/lib/lxc/コンテナ名/rootfs" 以下に保存される。
- コンテナ作成時に使用するキャッシュ イメージは、 "/var/cache/lxc" 以下に保存される。
lxc-* コマンド
- lxc-create コマンドのヘルプを表示
$ lxc-create -t TEMPLATE -h
※ テンプレート名は、ubuntu, fedora, debian 等 - コンテナの作成 (Ubuntu ホストと同じリリース, Login: ubuntu/ubuntu)
$ sudo lxc-create -t ubuntu -n CONTAINER - コンテナの作成 (Ubuntu Lucid, Login: ubuntu/ubuntu)
$ sudo lxc-create -t ubuntu -n CONTAINER -- -r lucid - ubuntu テンプレートでキャッシュ イメージ を再作成するには、-F オプションを使用
$ sudo lxc-create -t ubuntu -n CONTAINER -- -F - コンテナの作成 (Fedora, Login: root/root)
$sudo apt-get install yum (yum コマンドが必要)
$ sudo lxc-create -t fedora -n CONTAINER - コンテナの作成 (Debian, Login: root/root)
$ sudo lxc-create -t debian -n CONTAINER - コンテナの一覧
$ sudo lxc-list - コンテナの起動
$ sudo lxc-start -n CONTAINER [-d]
-d オプション指定でコンソールに接続しない - コンテナの起動 (設定 /var/lib/lxc/CONTAINER/config の上書き)
$ sudo lxc-start -n CONTAINER -s lxc.network.link=br0
-s KEY=VALUE で上書き (例では、lxc.network.link を br0) - コンソールに接続 (Ctrl-a q で切断)
$ sudo lxc-console -n CONTAINER - コンテナの再起動
$ sudo lxc-shutdown -n CONTAINER -r - コンテナの停止
$ sudo lxc-shutdown -n CONTAINER - コンテナの強制終了
$ sudo lxc-stop -n CONTAINER - コンテナの削除
$ sudo lxc-destroy -n CONTAINER - コンテナのバックアップ (バックアップ番号 = 1)
$ sudo lxc-backup CONTAINER 1
※ "/var/lib/lxc/CONTAINER/rootfs.backup#" にバックアップされる - バックアップからのリストア (バックアップ番号 = 1)
$ sudo lxc-restore CONTAINER 1 - ホスト起動・停止時にコンテナを自動起動・停止する設定
$ sudo ln -s /var/lib/lxc/CONTAINER/config /etc/lxc/auto/CONTAINER.conf
ネットワーク
"/etc/default/lxc" でデフォルトで作成されるブリッジ インタフェース (lxcbr0) の設定がされています。
"/usr/share/doc/lxc/examples/lxc-*.conf" にネットワーク設定の例があります。
コンテナの設定 "/var/lib/lxc/コンテナ名/config" を例を参考に変更してネットワーク設定を変更できます。
デフォルトの状態では、コンテナの eth0 は、ブリッジ インタフェース (lxcbr0) とブリッジ接続します。
外部とコンテナとが直接通信するためには、ホストにブリッジ インタフェース (br0) を作り、ホストの物理インタフェース (eth0) をブリッジに参加させます。そして、br0 とコンテナの eth0 をブリッジ接続します。
VMware ESXi で動作している仮想マシンで LXC を使用する場合の注意点として、コンテナへ直接接続できるようにするためには、仮想スイッチかポート グループ レベルでの無差別モードを有効にする必要があります。
以下の例では、ホストにブリッジ インタフェース (br0) を作り、ホストの物理インタフェース eth0 をブリッジに参加させます。コンテナは br0 とブリッジ接続するようにします。これで、ホストの物理インタフェース eth0 が接続するネットワーク セグメントにコンテナの eth0 が直接接続する形態になります。
■ ブリッジ br0 の設定 $ sudo vi /etc/network/interfaces $ cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 192.168.0.101 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameservers 8.8.8.8 8.8.4.4 bridge_ports eth0 bridge_stp off ■ ネットワーク設定を反映 $ sudo service networking restart ■ 既存のコンテナの設定を変更 $ sudo sed -i /var/lib/lxc/CONTAINER/config -e 's/=lxcbr0$/=br0/' ■ 新規に作成するコンテナの設定を変更 $ sudo sed -i -e 's/^\(lxc.network.link=\).*/#&\n\1br0/' /etc/lxc/lxc.conf ■ 起動時に lxcbr0 を作成しない設定 $ sudo sed -i -e 's/^\(USE_LXC_BRIDGE=\).*/#&\n\1"false"/' /etc/default/lxc
- Ubuntu Weekly Recipe:第226回 LXCで軽量仮想環境の活用|gihyo.jp … 技術評論社
- Ubuntu Server Guide (12.04 LTS): LXC
- Ubuntu Server Guide (12.10): LXC
- Network Configuration
- LXC - Community Ubuntu Documentation
- Index of /man
- lxc-provider
- Category:Lxc - 1Tux
- LXC CentOS template. Work with Ubuntu if the yum package is installed — Gist
- Satoshi GUNJI's Blog - lxc
- Linux Containers Under CentOS 6
- LXC: Linux コンテナー・ツール
- 1.1.5. lxc — オープンソースに関するドキュメント 1.1 documentation
- [Container] - defiantの日記
- RHEL6.0 で LXC (Linux コンテナ) - めもめも
- lxc:ubuntu_precise_の_lxc_調査メモ · HarpWiki
- tsurayogoshi
- Otvoreni Blog: LXC on Ubuntu
- VMware KB: How promiscuous mode works at the virtual switch and portgroup levels
1 件のコメント:
xubuntu12.10では
/usr/share/lxc/templates/
コメントを投稿