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
のままにします。