LoginSignup
2
0

More than 5 years have passed since last update.

systemd-nspawnで使う.nspawnファイルとは?

Posted at

systemd-nspawn Advent Calendar 2017 4日目の記事です。

.nspawnファイルとはコンテナ個別の設定を行うために設置するファイルです
以下の場所に設置できます

  • /etc/systemd/nspawn/machine.nspawn
  • /run/systemd/nspawn/machine.nspawn
  • /var/lib/machines/machine.nspawn

これは順に検索され、見つかった時点で検索を終了します。

例えば、/var/lib/machines/ubuntu にコンテナがあり、/etc/systemd/nspawn/ubuntu.nspawn/run/systemd/nspawn/ubuntu.nspawnにファイルを置いた場合は最初のファイルに書いた設定しか有効になりません。
また、コマンド引数の方が優先されるため、例えばnspawnファイルに

[Exec]
Boot=0

と書いたとしても、-bオプションを付けて起動すれば/sbin/initから起動します。

もう一点注意点として、/var/lib/machines/machine.nspawn に置いたnspawnファイルはホスト側に影響するようなオプション
TemporaryFileSystem=, Bind=, BindReadOnly=, Capability= 等は使うことができません。
そのようなオプションを使う場合は/etc/systemd/nspawn/machine.nspawn/run/systemd/nspawn/machine.nspawnに置いてください。

設定サンプル

[Exec]
# /sbin/initから起動させる
Boot=1
[Files]
# hostの/mntとコンテナの/var/tmpをつなげる
Bind=/mnt:/var/tmp
[Network]
# br0インターフェイスにブリッジする
Bridge=br0

その他詳しいことはman systemd.nspawnを参照ください

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0