From b45e48f0970f5a33d0cb8958fad098586f24afa1 Mon Sep 17 00:00:00 2001 From: KATOH Yasufumi Date: Tue, 19 Dec 2017 15:41:17 +0900 Subject: [PATCH 1/5] doc: Add sysctl section to Japanese lxc.container.conf(5) Signed-off-by: KATOH Yasufumi --- doc/ja/lxc.container.conf.sgml.in | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/doc/ja/lxc.container.conf.sgml.in b/doc/ja/lxc.container.conf.sgml.in index b67aade5c8..80aaaaa726 100644 --- a/doc/ja/lxc.container.conf.sgml.in +++ b/doc/ja/lxc.container.conf.sgml.in @@ -1909,6 +1909,44 @@ by KATOH Yasufumi + + Sysctl + + + コンテナ用のカーネルパラメータを設定します。 + + + + + + + + + + 設定したいカーネルパラメータを指定します。指定できるパラメータは /proc/sys 以下に存在するものです。 + すべての sysctl パラメータが仮想化(名前空間化)されているわけではないことに注意してください。仮想化されていない sysctl を設定すると、システムワイドで設定が変更されてしまいます。 + + sysctl + 8 + . + + 値を指定しないでこの設定を指定した場合は、この設定より前に設定されたパラメータをクリアします。 + + + + + + <!-- Apparmor profile -->Apparmor プロファイル From 4eeecbdb08b7b85822b2b95628cb0fba8774cb23 Mon Sep 17 00:00:00 2001 From: KATOH Yasufumi Date: Tue, 19 Dec 2017 15:54:23 +0900 Subject: [PATCH 2/5] doc: Add proc section to Japanese lxc.container.conf(5) Update for commit 61d7a73 Signed-off-by: KATOH Yasufumi --- doc/ja/lxc.container.conf.sgml.in | 71 ++++++++++++++++++++++--------- 1 file changed, 51 insertions(+), 20 deletions(-) diff --git a/doc/ja/lxc.container.conf.sgml.in b/doc/ja/lxc.container.conf.sgml.in index 80aaaaa726..c7f21cde66 100644 --- a/doc/ja/lxc.container.conf.sgml.in +++ b/doc/ja/lxc.container.conf.sgml.in @@ -347,11 +347,11 @@ by KATOH Yasufumi - - デフォルトで実行するバイナリのコンテナの root からの絶対パスを指定します。これは lxc-execute のための設定です。 + mostly makes sense for lxc-execute. + --> + デフォルトで実行するバイナリのコンテナの root からの絶対パスを指定します。これは lxc-execute のための設定です。 @@ -365,7 +365,7 @@ by KATOH Yasufumi init として使うバイナリの、コンテナの root からの絶対パスを指定します。これは lxc-start のための設定です。デフォルトは /sbin/init です。 @@ -377,11 +377,11 @@ by KATOH Yasufumi Init のワーキングディレクトリ <!-- Init working directory --> - - コンテナのワーキングディレクトリとして、コンテナ内の絶対パスを設定します。LXC は init を実行する前に、このディレクトリに移動します。 + --> + コンテナのワーキングディレクトリとして、コンテナ内の絶対パスを設定します。LXC は init を実行する前に、このディレクトリに移動します。 @@ -390,10 +390,10 @@ by KATOH Yasufumi - - ワーキングディレクトリとして使うコンテナ内の絶対パス + --> + ワーキングディレクトリとして使うコンテナ内の絶対パス @@ -445,6 +445,37 @@ by KATOH Yasufumi + + Proc + + + コンテナ内の proc ファイルシステムで設定できるパラメータを設定します。 + + + + + + + + + + 設定したい proc ファイルシステムのファイル名を指定します。指定できるファイル名は /proc/PID/ 以下に存在するものです。 + 例: + + + lxc.proc.oom_score_adj = 10 + + + + + + <!-- Ephemeral -->一時的なコンテナ @@ -1696,7 +1727,7 @@ by KATOH Yasufumi - - コンテナの cgroup を作成するパスやディレクトリを指定します。 - 例えば、"c1" という名前のコンテナで のように設定すると、"my-cgroup" のサブ cgroup のようにコンテナの cgroup を作成します。 - 例えば、ユーザのカレントの cgroup である "my-user" が cgroup v1 階層にある cpuset コントローラの root cgroup 内に存在する場合、この設定は "/sys/fs/cgroup/cpuset/my-user/my-cgroup/first/c1" という cgroup をこのコンテナ向けに作成します。 - 存在しない cgroup は LXC が作成しますが、ユーザがカレントの cgroup に書き込み権を持っていることが前提となります。 + --> + コンテナの cgroup を作成するパスやディレクトリを指定します。 + 例えば、"c1" という名前のコンテナで のように設定すると、"my-cgroup" のサブ cgroup のようにコンテナの cgroup を作成します。 + 例えば、ユーザのカレントの cgroup である "my-user" が cgroup v1 階層にある cpuset コントローラの root cgroup 内に存在する場合、この設定は "/sys/fs/cgroup/cpuset/my-user/my-cgroup/first/c1" という cgroup をこのコンテナ向けに作成します。 + 存在しない cgroup は LXC が作成しますが、ユーザがカレントの cgroup に書き込み権を持っていることが前提となります。 @@ -1912,10 +1943,10 @@ by KATOH Yasufumi Sysctl - - コンテナ用のカーネルパラメータを設定します。 + --> + コンテナ用のカーネルパラメータを設定します。 From efcbd1a05af46298ae29e5f7dadd324f8324b535 Mon Sep 17 00:00:00 2001 From: KATOH Yasufumi Date: Tue, 19 Dec 2017 19:08:22 +0900 Subject: [PATCH 3/5] doc: Add the description of new style hook to Japanese lxc.containers.conf(5) Signed-off-by: KATOH Yasufumi --- doc/ja/lxc.container.conf.sgml.in | 125 +++++++++++++++++++++--------- 1 file changed, 89 insertions(+), 36 deletions(-) diff --git a/doc/ja/lxc.container.conf.sgml.in b/doc/ja/lxc.container.conf.sgml.in index c7f21cde66..a36e1f2caf 100644 --- a/doc/ja/lxc.container.conf.sgml.in +++ b/doc/ja/lxc.container.conf.sgml.in @@ -2235,63 +2235,116 @@ by KATOH Yasufumi <!-- Container hooks -->コンテナのフック - - コンテナのフックは、コンテナの存続期間の色々な場面で実行することのできるプログラムやスクリプトです。 + --> + コンテナのフックは、コンテナの存続期間の色々な場面で実行することのできるプログラムやスクリプトです。 - + コンテナフックが実行されるとき、追加の情報が渡されます。追加の引数がコマンドライン引数で渡されるか、環境変数経由で渡されるかを判断するのに、 が使えます。引数は: - Container name. - Section (always 'lxc'). - The hook type (i.e. 'clone' or 'pre-mount'). - Additional arguments. In the + コンテナ名 + セクション (常に 'lxc') + フックのタイプ ('clone' や 'pre-mount' など) + 追加の引数。clone フックの場合、lxc-clone に渡される追加の引数は、フックへの引数として追加されます。stop フックの場合は、コンテナの名前空間のそれぞれに対するファイルディスクリプタへのパスが、名前空間名とともに渡されます。 + + 次の環境変数がセットされます。 - LXC_NAME: is the container's name. - LXC_ROOTFS_MOUNT: the path to the mounted root filesystem. - LXC_CONFIG_FILE: the path to the container configuration file. - LXC_SRC_NAME: in the case of the clone hook, this is the original container's name. - LXC_ROOTFS_PATH: this is the lxc.rootfs.path entry for the container. Note this is likely not where the mounted rootfs is to be found, use LXC_ROOTFS_MOUNT for that. - - --> - コンテナのフックが実行されるとき、情報がコマンドライン引数と環境変数の両方を通して渡されます。引数は: - - コンテナ名 - セクション (常に 'lxc') - フックのタイプ ('clone' や 'pre-mount' など) - 追加の引数。clone フックの場合、lxc-clone に渡される追加の引数は、フックへの引数として追加されます。stop フックの場合は、コンテナの名前空間のそれぞれに対するファイルディスクリプタへのパスが、名前空間名とともに渡されます。 - - 以下の環境変数がセットされます。 - - LXC_NAME: コンテナ名 - LXC_ROOTFS_MOUNT: マウントされた root ファイルシステムへのパス - LXC_CONFIG_FILE: コンテナの設定ファイルのパス - LXC_SRC_NAME: clone フックの場合、元のコンテナの名前 - LXC_ROOTFS_PATH: コンテナの lxc.rootfs.path エントリ。これはマウントされた rootfs が存在する場所にはならないでしょう。それには LXC_ROOTFS_MOUNT を使用してください。 + LXC_CGNS_AWARE: コンテナで cgroup namespace が使えるかどうか + LXC_CONFIG_FILE: コンテナの設定ファイルのパス + LXC_HOOK_TYPE: フックのタイプ (例えば 'clone'、'mount'、'pre-mount')。この環境変数が存在するかどうかは の値次第です。この値が 1 なら、LXC_HOOK_TYPE が設定されています。 + + + LXC_HOOK_SECTION: セクションタイプ (例えば 'lxc'、'net')。この環境変数が存在するかどうかは の値次第です。この値が 1 なら、LXC_HOOK_TYPE が設定されています。 + + + LXC_HOOK_VERSION: フックのバージョン。この値は、コンテナの の値と同じです。もし、この値が 0 に設定されているなら、古いスタイルのフックが使われます。もし 1 に設定されているなら、新しいスタイルのフックが使われます。 + + LXC_LOG_LEVEL: コンテナのログレベル + LXC_NAME: コンテナ名 + LXC_[NAMESPACE IDENTIFIER]_NS: コンテナの名前空間が参照する /proc/PID/fd/ 以下のファイルディスクリプタのパス。それぞれの名前空間ごとに別々の環境変数になります。これらの環境変数は が 1 に設定されてる場合のみ設定されます。 + + LXC_ROOTFS_MOUNT: マウントされた root ファイルシステムへのパス + LXC_ROOTFS_PATH: コンテナの lxc.rootfs.path エントリ。これはマウントされた rootfs が存在する場所にはならないでしょう。それには LXC_ROOTFS_MOUNT を使用してください。 + LXC_SRC_NAME: clone フックの場合、元のコンテナの名前 - - スクリプトからの標準出力は debug レベルでロギングされます。 + --> + スクリプトからの標準出力は debug レベルでロギングされます。 標準エラー出力はロギングされません。 しかし、フックの標準エラー出力を標準出力にリダイレクトすることにより保存することは可能です。 + + + + + + + + + 環境変数経由の新しいスタイルで引数を渡すには 1 に設定します。そうでなく、引数として渡すには 0 に設定します。この設定は、古い方法でスクリプトに引数として渡されているすべてのフック引数に影響します。特に、コンテナ名のセクション (例: 'lxc', 'net') とフックタイプ (例: 'clone', 'mount', 'pre-mount') 引数に影響します。新しいスタイルのフックが使われる場合、引数は環境変数として利用できます。 + コンテナ名は LXC_NAME に設定されます(これはこの設定項目に設定されている値とは関係なく設定されます)。セクションは LXC_HOOK_SECTION に設定されます。そしてフックタイプは LXC_HOOK_TYPE に設定されます。 + この設定は、コンテナの名前空間を参照するファイルディスクリプタのパスをどのように渡すかにも影響します。1 に設定した場合、名前空間ごとに別の環境変数 LXC_[NAMESPACE IDENTIFIER]_NS に設定されます。0 に設定すると、パスは stop フックの引数として渡されます。 + + + + From b6feb9db850709fe7c2ea82cd92990973ac84269 Mon Sep 17 00:00:00 2001 From: KATOH Yasufumi Date: Tue, 19 Dec 2017 19:36:48 +0900 Subject: [PATCH 4/5] doc: Translate the hook of network into Japanese in lxc.container.conf(5) Update for commit 14a7b0f Signed-off-by: KATOH Yasufumi --- doc/ja/lxc.container.conf.sgml.in | 150 ++++++++++++++++++++++++------ 1 file changed, 121 insertions(+), 29 deletions(-) diff --git a/doc/ja/lxc.container.conf.sgml.in b/doc/ja/lxc.container.conf.sgml.in index a36e1f2caf..1bf4f06b3b 100644 --- a/doc/ja/lxc.container.conf.sgml.in +++ b/doc/ja/lxc.container.conf.sgml.in @@ -856,22 +856,68 @@ by KATOH Yasufumi - - ホスト側から使われる、ネットワークの作成と設定が済んだ後に実行するスクリプトを指定します。以下の引数がスクリプトに渡されます: コンテナ名、設定セクション名(net)。 - その後の引数はスクリプトのフックで使われる設定セクションに依存します。以下がネットワークシステムによって使われます: 実行コンテキスト (up)、ネットワークのタイプ (empty/veth/macvlan/phys) - ネットワークのタイプによっては、更に別の引数が渡されるかもしれません: veth/macvlan/phys の場合 (ホスト側の) デバイス名 + from the host side. + --> + ホスト側から使われる、ネットワークの作成と設定が済んだ後に実行するスクリプトを指定します。 + + + + + すべてのフックで追加の情報が使えます。以下の情報がスクリプトに提供されます: + + + + LXC_HOOK_TYPE: フックタイプ。'up' か 'down' のいずれかです + + + + + + LXC_HOOK_SECTION: セクションタイプとして 'net' が設定されます + + + + + + LXC_NET_TYPE: ネットワークタイプ。有効なネットワークタイプのうちのひとつです (例: 'macvlan', 'veth') + + + + + + LXC_NET_PARENT: ホスト上の親デバイス名。これはネットワークタイプが 'macvlan'、'veth'、'phys' のどれかのときだけ設定されます + + + + + + LXC_NET_PEER: ホスト上のピアデバイス名。これはネットワークタイプが 'veth' の場合のみ設定されます。この情報は が 1 に設定されている場合のみ設定されます + + + + + + + この情報が環境変数の形で提供されるか、スクリプトへの引数の形で提供されるかは の値によって決まります。もし が 1 に設定されている場合は、環境変数の形で提供されます。もし 0 が設定されている場合は、スクリプトへの引数として提供されます。 + - ホスト側から使われる、ネットワークを破壊する前に実行するスクリプトを指定します。以下の引数がスクリプトに渡されます: コンテナ名、設定セクション名(net)。 - その後の引数はスクリプトのフックで使われる設定セクションに依存します。以下がネットワークシステムによって使われます: 実行コンテキスト (up)、ネットワークのタイプ (empty/veth/macvlan/phys)。 - ネットワークのタイプによっては、更に別の引数が渡されるかもしれません: veth/macvlan/phys。そして最後に (ホスト側の) デバイス名が渡されます。 + host side. + --> + ホスト側から使われる、ネットワークを破壊する前に実行するスクリプトを指定します。 + + + + + すべてのフックで追加の情報が使えます。以下の情報がスクリプトに提供されます: + + + + LXC_HOOK_TYPE: フックタイプ。'up' か 'down' のいずれかです + + + + + + LXC_HOOK_SECTION: セクションタイプとして 'net' が設定されます + + + + + + LXC_NET_TYPE: ネットワークタイプ。有効なネットワークタイプのうちのひとつです (例: 'macvlan', 'veth') + + + + + + LXC_NET_PARENT: ホスト上の親デバイス名。これはネットワークタイプが 'macvlan'、'veth'、'phys' のどれかのときだけ設定されます + + + + + + LXC_NET_PEER: ホスト上のピアデバイス名。これはネットワークタイプが 'veth' の場合のみ設定されます。この情報は が 1 に設定されている場合のみ設定されます + + + + + + + この情報が環境変数の形で提供されるか、スクリプトへの引数の形で提供されるかは の値によって決まります。もし が 1 に設定されている場合は、環境変数の形で提供されます。もし 0 が設定されている場合は、スクリプトへの引数として提供されます。 + - ホスト側から使われる、ネットワークの作成と設定が済んだ後に実行するスクリプトを指定します。 + --> + ホスト側から使われる、ネットワークの作成と設定が済んだ後に実行するスクリプトを指定します。 - - すべてのフックで追加の情報が使えます。以下の情報がスクリプトに提供されます: + --> + すべてのフックで追加の情報が使えます。以下の情報がスクリプトに提供されます: @@ -900,7 +900,7 @@ by KATOH Yasufumi LXC_NET_PEER: ホスト上のピアデバイス名。これはネットワークタイプが 'veth' の場合のみ設定されます。この情報は が 1 に設定されている場合のみ設定されます - @@ -908,14 +908,14 @@ by KATOH Yasufumi - - この情報が環境変数の形で提供されるか、スクリプトへの引数の形で提供されるかは の値によって決まります。もし が 1 に設定されている場合は、環境変数の形で提供されます。もし 0 が設定されている場合は、スクリプトへの引数として提供されます。 + --> + この情報が環境変数の形で提供されるか、スクリプトへの引数の形で提供されるかは の値によって決まります。もし が 1 に設定されている場合は、環境変数の形で提供されます。もし 0 が設定されている場合は、スクリプトへの引数として提供されます。 @@ -934,21 +934,21 @@ by KATOH Yasufumi - - - ホスト側から使われる、ネットワークを破壊する前に実行するスクリプトを指定します。 + --> + ホスト側から使われる、ネットワークを破壊する前に実行するスクリプトを指定します。 - - すべてのフックで追加の情報が使えます。以下の情報がスクリプトに提供されます: + --> + すべてのフックで追加の情報が使えます。以下の情報がスクリプトに提供されます: @@ -979,7 +979,7 @@ by KATOH Yasufumi LXC_NET_PEER: ホスト上のピアデバイス名。これはネットワークタイプが 'veth' の場合のみ設定されます。この情報は が 1 に設定されている場合のみ設定されます - @@ -987,14 +987,14 @@ by KATOH Yasufumi - - この情報が環境変数の形で提供されるか、スクリプトへの引数の形で提供されるかは の値によって決まります。もし が 1 に設定されている場合は、環境変数の形で提供されます。もし 0 が設定されている場合は、スクリプトへの引数として提供されます。 + --> + この情報が環境変数の形で提供されるか、スクリプトへの引数の形で提供されるかは の値によって決まります。もし が 1 に設定されている場合は、環境変数の形で提供されます。もし 0 が設定されている場合は、スクリプトへの引数として提供されます。 @@ -1402,11 +1402,24 @@ by KATOH Yasufumi don't fail if mount does not work. or to create dir (or file) when the point will be mounted. + source path is taken to be relative to + the mounted container root. For instance, --> fstab フォーマットに加えて、LXC ではマウントに対して独自の 2 つのオプションが使えます。 は、マウントが失敗しても失敗を返さずに無視します。 は、マウントポイントをマウントする際にディレクトリもしくはファイルを作成します。 + を指定すると、マウントされたコンテナルートからの相対パスとして取得されます。 + + dev/null proc/kcore none bind,relative 0 0 + + + + は dev/null を ${}/dev/null と展開し、コンテナ内の proc/kcore にマウントします。 + @@ -2327,20 +2340,20 @@ by KATOH Yasufumi <!-- Container hooks -->コンテナのフック - - コンテナのフックは、コンテナの存続期間の色々な場面で実行することのできるプログラムやスクリプトです。 + --> + コンテナのフックは、コンテナの存続期間の色々な場面で実行することのできるプログラムやスクリプトです。 - - コンテナフックが実行されるとき、追加の情報が渡されます。追加の引数がコマンドライン引数で渡されるか、環境変数経由で渡されるかを判断するのに、 が使えます。引数は: + --> + コンテナフックが実行されるとき、追加の情報が渡されます。追加の引数がコマンドライン引数で渡されるか、環境変数経由で渡されるかを判断するのに、 が使えます。引数は: コンテナ名 セクション (常に 'lxc') @@ -2352,29 +2365,29 @@ by KATOH Yasufumi for each of the container's namespaces along with their types are passed. --> - - 次の環境変数がセットされます。 + --> + 次の環境変数がセットされます。 LXC_CGNS_AWARE: コンテナで cgroup namespace が使えるかどうか LXC_CONFIG_FILE: コンテナの設定ファイルのパス LXC_HOOK_TYPE: フックのタイプ (例えば 'clone'、'mount'、'pre-mount')。この環境変数が存在するかどうかは の値次第です。この値が 1 なら、LXC_HOOK_TYPE が設定されています。 - LXC_HOOK_SECTION: セクションタイプ (例えば 'lxc'、'net')。この環境変数が存在するかどうかは の値次第です。この値が 1 なら、LXC_HOOK_TYPE が設定されています。 - LXC_HOOK_VERSION: フックのバージョン。この値は、コンテナの の値と同じです。もし、この値が 0 に設定されているなら、古いスタイルのフックが使われます。もし 1 に設定されているなら、新しいスタイルのフックが使われます。 - LXC_NAME: コンテナ名 LXC_[NAMESPACE IDENTIFIER]_NS: コンテナの名前空間が参照する /proc/PID/fd/ 以下のファイルディスクリプタのパス。それぞれの名前空間ごとに別々の環境変数になります。これらの環境変数は が 1 に設定されてる場合のみ設定されます。 - - スクリプトからの標準出力は debug レベルでロギングされます。 + --> + スクリプトからの標準出力は debug レベルでロギングされます。 標準エラー出力はロギングされません。 しかし、フックの標準エラー出力を標準出力にリダイレクトすることにより保存することは可能です。 @@ -2412,7 +2425,7 @@ by KATOH Yasufumi - - 環境変数経由の新しいスタイルで引数を渡すには 1 に設定します。そうでなく、引数として渡すには 0 に設定します。この設定は、古い方法でスクリプトに引数として渡されているすべてのフック引数に影響します。特に、コンテナ名のセクション (例: 'lxc', 'net') とフックタイプ (例: 'clone', 'mount', 'pre-mount') 引数に影響します。新しいスタイルのフックが使われる場合、引数は環境変数として利用できます。 - コンテナ名は LXC_NAME に設定されます(これはこの設定項目に設定されている値とは関係なく設定されます)。セクションは LXC_HOOK_SECTION に設定されます。そしてフックタイプは LXC_HOOK_TYPE に設定されます。 - この設定は、コンテナの名前空間を参照するファイルディスクリプタのパスをどのように渡すかにも影響します。1 に設定した場合、名前空間ごとに別の環境変数 LXC_[NAMESPACE IDENTIFIER]_NS に設定されます。0 に設定すると、パスは stop フックの引数として渡されます。 + --> + 環境変数経由の新しいスタイルで引数を渡すには 1 に設定します。そうでなく、引数として渡すには 0 に設定します。この設定は、古い方法でスクリプトに引数として渡されているすべてのフック引数に影響します。特に、コンテナ名のセクション (例: 'lxc', 'net') とフックタイプ (例: 'clone', 'mount', 'pre-mount') 引数に影響します。新しいスタイルのフックが使われる場合、引数は環境変数として利用できます。 + コンテナ名は LXC_NAME に設定されます(これはこの設定項目に設定されている値とは関係なく設定されます)。セクションは LXC_HOOK_SECTION に設定されます。そしてフックタイプは LXC_HOOK_TYPE に設定されます。 + この設定は、コンテナの名前空間を参照するファイルディスクリプタのパスをどのように渡すかにも影響します。1 に設定した場合、名前空間ごとに別の環境変数 LXC_[NAMESPACE IDENTIFIER]_NS に設定されます。0 に設定すると、パスは stop フックの引数として渡されます。 diff --git a/doc/lxc.container.conf.sgml.in b/doc/lxc.container.conf.sgml.in index f777ac35fe..d106c96357 100644 --- a/doc/lxc.container.conf.sgml.in +++ b/doc/lxc.container.conf.sgml.in @@ -1076,8 +1076,6 @@ dev/null proc/kcore none bind,relative 0 0 Will expand dev/null to ${}/dev/null, and mount it to proc/kcore inside the container. - -