ConfigFile ボリュームは設定ファイルを格納するボリュームの一種で、設定データを Elastic Container Instance (ECI) インスタンスにインジェクトできます。このトピックでは、ECI インスタンスに ConfigFile ボリュームをマウントする方法について説明します。
制限事項
ConfigFile ボリュームでは、単一の設定ファイルのサイズは 32 KB を超えることはできず、すべての設定ファイルの合計サイズは 60 KB を超えることはできません。
設定 (API)
CreateContainerGroup API オペレーションを呼び出して ECI インスタンスを作成する際に、Volume 関連のパラメーターを使用してボリュームを指定し、次に Container.VolumeMount 関連のパラメーターを使用してボリュームをコンテナにマウントできます。関連するパラメーターを以下に示します。詳細については、「CreateContainerGroup」をご参照ください。
ボリュームの宣言
Volume 関連のパラメーターを使用してボリュームを指定する場合、まずボリュームのタイプと名前を指定する必要があります。次に、Volume.N.Type パラメーターの値に基づいて、他の Volume 関連のパラメーターを設定する必要があります。
|
パラメーター |
タイプ |
例 |
説明 |
|
Volume.N.Name |
String |
test-volume |
ボリュームの名前。 |
|
Volume.N.Type |
String |
ConfigFileVolume |
値を |
|
Volume.N.ConfigFileVolume.ConfigFileToPath.N.Path |
String |
test/config-test.cnf |
マウントディレクトリからの相対パスで表した設定ファイルのパス。 |
|
Volume.N.ConfigFileVolume.ConfigFileToPath.N.Content |
String |
bGl1bWk= |
Base64 エンコードされた設定ファイルの内容。 |
|
Volume.N.ConfigFileVolume.DefaultMode |
Integer |
0644 |
設定ファイルのデフォルト権限。4 桁の 8 進数で指定します。 例えば、 権限は以下の通りです:
|
|
Volume.N.ConfigFileVolume.ConfigFileToPath.N.Mode |
Integer |
0644 |
設定ファイルの権限。4 桁の 8 進数で指定します。このパラメーターを省略した場合、 例えば、 権限は以下の通りです:
|
ボリュームのマウント
ボリュームを指定した後、VolumeMount 関連のパラメーターを使用してボリュームをコンテナにマウントできます。
パラメーター | タイプ | 例 | 説明 |
Container.N.VolumeMount.N.Name | String | test-volume | コンテナ N にマウントするボリューム N の名前。この値は Volume.N.Name の値です。 |
Container.N.VolumeMount.N.MountPath | String | /usr/share | ボリュームをマウントするコンテナ内のパス。このディレクトリ内のデータは、ボリューム上のデータによって上書きされます。 |
Container.N.VolumeMount.N.SubPath | String | /usr/sub | ボリュームのサブディレクトリ。このパラメーターは、インスタンスが同じボリュームの異なるサブディレクトリをコンテナの異なるサブディレクトリにマウントできるように指定します。 |
Container.N.VolumeMount.N.ReadOnly | Boolean | false | マウントディレクトリが読み取り専用かどうかを指定します。デフォルト値: false。 |
Container.N.VolumeMount.N.MountPropagation | String | None | ボリューム N のマウント伝播設定。マウント伝播により、1 つのコンテナにマウントされたボリュームを、同じ ECI インスタンス内の他のコンテナ、または同じホスト上の他の ECI インスタンスと共有できます。有効な値:
デフォルト値: None。 |
ボリュームは init コンテナにもマウントできます。必須パラメーターは前の表のパラメーターと似ています。Container を InitContainer に変更するだけです。
設定 (コンソール)
Elastic Container Instance 購入ページで ECI インスタンスを作成する際に、[コンテナグループ設定] セクションでボリュームを指定し、次に [コンテナ設定] セクションでボリュームをコンテナにマウントできます。
ボリュームの宣言
-
コンテナーグループの設定 セクションで、高度な設定 を展開します。
-
ストレージ で、設定項目 タブを選択し、追加 をクリックします。
-
ConfigFile ボリュームのパラメーターを設定します。
-
名前:ConfigFile ボリュームの名前。
-
プロファイルパス:マウントディレクトリからの相対パスで表した設定ファイルのパス。
-
ファイルの内容:設定ファイルのプレーンテキストの内容を入力します。コンソールが自動的に Base64 エンコードします。
-
ボリュームのマウント
-
コンテナー設定 セクションで、コンテナを選択し、その詳細設定を展開します。
-
ストレージ をオンにして、追加 をクリックします。
[コンテナグループ設定] セクションで宣言したボリュームのみがマウント可能です。
タイプが [設定項目] の configfile-demo ボリュームを選択し、コンテナ内のマウントパスを
/dataに設定し、[読み取り専用] オプションは選択しません。
複数のコンテナにボリュームをマウントする場合は、さらにコンテナを選択して上記の手順を繰り返します。
設定例
CreateContainerGroup オペレーションを呼び出して ECI インスタンスを作成し、ConfigFile ボリュームをマウントします。次の例は、必須のリクエストパラメーターを示しています。詳細については、「CreateContainerGroup」をご参照ください。
ContainerGroupName=test-configfile
#ボリュームの宣言
Volume.1.Name=configfile-demo
Volume.1.Type=ConfigFileVolume
Volume.1.ConfigFileVolume.ConfigFileToPath.1.Path=test/config-test.cnf
Volume.1.ConfigFileVolume.ConfigFileToPath.1.Content=c2VydmVyLnBvcnQgPSA4MDgw
Volume.1.ConfigFileVolume.DefaultMode=0644
#ボリュームをコンテナにマウント
Container.1.Name=nginx
Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
Container.1.VolumeMount.1.Name=configfile-demo
Container.1.VolumeMount.1.MountPath=/data