Amazon ECS タスク定義で Docker ボリュームを指定する
コンテナでデータボリュームを使用するには、ボリュームを指定し、タスク定義でポイント設定をマウントする必要があります。このセクションでは、コンテナのボリューム設定について説明します。Docker ボリュームを使用するdockerVolumeConfiguration を指定します。バインドマウントのホストボリュームを使用するタスクで、host とオプションの sourcePath を指定します。
次のタスク定義の JSON スニペットに、コンテナの volumes と mountPoints オブジェクト用の構文を示します。
{ "containerDefinitions": [ { "mountPoints": [ { "sourceVolume": "string", "containerPath": "/path/to/mount_volume", "readOnly": boolean } ] } ], "volumes": [ { "name": "string", "dockerVolumeConfiguration": { "scope": "string", "autoprovision": boolean, "driver": "string", "driverOpts": { "key": "value" }, "labels": { "key": "value" } } } ] }
name-
タイプ: 文字列
必須: いいえ
ボリュームの名前。最大 255 文字の英字 (大文字と小文字の区別あり)、数字、ハイフン (
-)、アンダースコア (_) を使用できます。この名前は、コンテナ定義mountPointsオブジェクトのsourceVolumeパラメータで参照されます。 dockerVolumeConfiguration-
タイプ: DockerVolumeConfiguration オブジェクト
必須: いいえ
このパラメータは、Docker ボリュームを使用する場合に指定します。Docker ボリュームは、EC2 インスタンスでタスクを実行する場合にのみサポートされます。Windows コンテナでは、
localドライバーの使用のみがサポートされます。バインドマウントを使用するには、代わりにhostを指定します。scope-
型: 文字列
有効な値:
task|shared必須: いいえ
Docker ボリュームのスコープ。これにより、ボリュームのライフサイクルが決定されます。Docker ボリュームの範囲が
taskの場合は、タスクが開始すると自動的にプロビジョンされ、タスクが停止すると破棄されます。Docker ボリュームの範囲がsharedの場合は、タスクの停止後も保持されます。 autoprovision-
タイプ: ブール値
デフォルト値:
false必須: いいえ
この値が
trueの場合、既に存在していない場合は Docker ボリュームが作成されます。このフィールドは、scopeがsharedの場合にのみ使用されます。scopeがtaskの場合、このパラメータは省略する必要があります。 driver-
タイプ: 文字列
必須: いいえ
使用する Docker ボリュームドライバー。この名前はタスク配置に使用されるため、ドライバー値は Docker で提供されているドライバー名と一致する必要があります。ドライバーが Docker プラグイン CLI を使用してインストールされた場合は、
docker plugin lsを使用してコンテナインスタンスからドライバー名を取得します。ドライバーが別の方法でインストール済みである場合は、Docker プラグイン検出を使用してドライバー名を取得します。 driverOpts-
タイプ: 文字列
必須: いいえ
パススルーする Docker ドライバー固有のオプションのマップ。このパラメータは、Docker の「Create a volume」セクションの
DriverOptsにマッピングされます。 labels-
タイプ: 文字列
必須: いいえ
Docker ボリュームに追加するカスタムメタデータ。
mountPoints-
タイプ: オブジェクト配列
必須: いいえ
コンテナでのデータボリュームのマウントポイント。このパラメータは creat-container Docker API の
Volumesにマッピングされ、docker run の--volumeオプションにマッピングされます。Windows コンテナは
$env:ProgramDataと同じドライブに全部のディレクトリをマウントできます。Windows コンテナは、別のドライブにディレクトリをマウントすることはできません。また、マウントポイントは複数のドライブにまたがることはできません。Amazon EBS ボリュームを Amazon ECS タスクに直接アタッチするには、マウントポイントを指定する必要があります。sourceVolume-
タイプ: 文字列
必須: はい (
mountPointsを使用する場合)マウントするボリュームの名前。
containerPath-
型: 文字列
必須: はい (
mountPointsを使用する場合)ボリュームをマウントするコンテナ内のパス。
readOnly-
型: ブール値
必須: いいえ
この値が
trueの場合、コンテナはボリュームへの読み取り専用アクセスを許可されます。この値がfalseの場合、コンテナはボリュームに書き込むことができます。デフォルト値はfalseです。Windows オペレーティングシステムを実行している EC2 インスタンスで実行されるタスクの場合、 値をデフォルト の
falseのままにします。