今回からはLXCの基本的なコマンドを使ったコンテナの操作を,
ここではUbuntu 14.
Ubuntuパッケージ使用時の各種パス
最初にUbuntuのLXCパッケージを使用した場合の各種ファイルやディレクトリのパスを紹介しておきます。他のディストリビューションでは異なる可能性がありますし,
表1 Ubuntu LXCパッケージにおけるファイル/
ファイル/ | パス |
---|---|
システム設定ファイル | /etc/ |
コンテナのデフォルト設定ファイル | /etc/ |
テンプレートファイルの置き場所 | /usr/ |
コンテナ起動時に読み込まれるファイルの置き場所 | /usr/ |
コンテナ作成時のキャッシュの置き場所 | /var/ |
コンテナの保存場所 | /var/ |
ログファイルの出力場所 | /var/ |
表に出てくるファイルやディレクトリでこれまで説明がなかったものについて説明します。
- システム設定ファイル
- この後説明するコンテナの保存場所のパス,
コンテナの設定ファイルの場所, ストレージバックエンド使用時のデフォルト値などの, システム共通で使用するデフォルト値を指定したい場合にファイルを作成して値を設定します。ファイルが存在しない場合はコンパイル時の値が使用されます。 - コンテナのデフォルト設定ファイル
- コンテナを作成する時に共通して設定したいものを記載しておきます。コンテナ作成時にこのファイルの設定値がコンテナの設定ファイルにコピーされます。
- コンテナ起動時に読み込まれるファイル
- テンプレートを使ったコンテナの作成で生成されるコンテナの設定ファイルは,
各ディストリビューションのデフォルト設定を読み込む (includeする) 設定が書き込まれます。そのディストリビューションごとのデフォルト設定が書かれたファイルが /usr/
に置かれています。コンテナの起動時に,share/ lxc/ config includeされたこのファイルに書かれた設定を読み込みます。 - コンテナ作成時のキャッシュ
- テンプレートはキャッシュを使ってコンテナの作成時間を短縮することがあります。キャッシュについてはコンテナ作成のところで説明します。
- コンテナの保存場所
- コンテナイメージとコンテナごとの設定ファイル,
つまりコンテナそのものを置く場所です。コンテナの作成時や起動時に特に指定しなければ, このディレクトリ ( /var/
)lib/ lxc を使用します。このディレクトリ以下をどのように使うかは後ほど, 作成したコンテナの確認を行うところで説明します。 - ログファイル
- コンテナごとにログファイルが出力されます。特に出力するログファイルを指定しなければ
/var/
以下にlog/ lxc
というファイルが作成されます。(コンテナ名) .log
Ubuntu上でLXCパッケージ使った時のコンテナ用のネットワーク
LXCで提供されているコマンドを使った説明に入る前に,
ホストOSの起動時にコンテナを接続するためのブリッジとしてlxcbr0
が作成されます。コンテナ用のネットワークとしてはデフォルトで10.
コンテナにDHCPでIPアドレスを割り当て,
また,
ブリッジの名前やコンテナ用のネットワークのアドレスは,/etc/
に設定されていますのでこのファイルを編集して変更できます。
$ cat /etc/default/lxc-net | grep -v "^#" USE_LXC_BRIDGE="true" LXC_BRIDGE="lxcbr0" LXC_ADDR="10.0.3.1" LXC_NETMASK="255.255.255.0" LXC_NETWORK="10.0.3.0/24" LXC_DHCP_RANGE="10.0.3.2,10.0.3.254" LXC_DHCP_MAX="253"
コンテナのデフォルト設定ファイル/etc/
)
$ cat /etc/lxc/default.conf lxc.network.type = veth lxc.network.link = lxcbr0 lxc.network.flags = up lxc.network.hwaddr = 00:16:3e:xx:xx:xx
この内容がコピーされている様子はこの後のコンテナを作成する所で紹介します。設定ファイル内の設定については,
共通オプション
それではいよいよコマンドを使ったコンテナの操作の説明をしていきましょう。
LXCではlxc-
で始まるコンテナに対する操作や管理を行うコマンド群が提供されています。最初にこのコマンド群のほとんどで共通して使えるオプションを紹介しておきましょう。
表2 LXCの共通オプション
オプション | オプションの意味 |
---|---|
-h / --help | ヘルプの表示 |
--usage | コマンドの使いかたの表示 |
-q / --quiet | 画面出力の抑止 |
-P / --lxcpath | コンテナの保存場所 |
-o / --logfile | コンテナのログファイルのパス |
-l / --logpriority | ログのプライオリティ |
-n / --name | コンテナの名前 |
ここで紹介したオプションはほとんどのLXCコマンドで使用できますが,
-n
/--name
オプションはほとんどのコマンドで必要なコンテナ名を指定するオプションです。ほとんどのコマンドで必要にもかかわらず,
-P
/--lxcpath
はデフォルトと違うパスにコンテナを設置する場合に使いますが,