本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 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 磁碟區時才會指定。只有在 EC2 執行個體上執行任務時,才支援 Docker 磁碟區。Windows 容器僅支援使用
local驅動程式。若要使用綁定掛載,請指定host。scope-
類型:字串
有效值:
task|shared必要:否
決定生命週期的 Docker 磁碟區範圍。範圍受限於
task的 Docker 磁碟區,會在任務啟動時自動佈建,以及在任務停止時銷毀。範圍為shared的 Docker 磁碟區會在任務停止之後保留。 autoprovision-
類型:布林值
預設值:
false必要:否
若此數值為
true,Docker 磁碟區便得以建立 (若它尚不存在)。只有在scope為 時,才會使用此欄位shared。如果scope是task,則必須省略此參數。 driver-
類型:字串
必要:否
要使用的 Docker 磁碟區驅動程式。驅動程式值必須符合 Docker 提供的驅動程式名稱,因為此名稱用於任務置放。如果驅動程式是使用 Docker 外掛程式 CLI 安裝,請使用 從您的容器執行個體
docker plugin ls擷取驅動程式名稱。如果驅動程式是透過使用其他方法安裝,請使用 Docker 外掛程式探索來擷取驅動程式名稱。 driverOpts-
類型:字串
必要:否
要傳遞的 Docker 驅動程式特定選項映射。此參數會映射至 Docker 的建立磁碟區區段
DriverOpts中的 。 labels-
類型:字串
必要:否
自訂中繼資料,新增到您的 Docker 磁碟區。
mountPoints-
類型:物件陣列
必要:否
容器中資料磁碟區的掛載點。此參數會映射至 create-container Docker API
Volumes中的 ,以及 Docker 執行--volume的選項。Windows 容器可在
$env:ProgramData所在的相同磁碟上掛載整個目錄。Windows 容器無法在不同的磁碟機上掛載目錄,而且掛載點無法跨磁碟機使用。您必須指定掛載點,將 Amazon EBS 磁碟區直接連接到 Amazon ECS 任務。sourceVolume-
類型:字串
必要:是 (當使用
mountPoints時)要掛載的磁碟區名稱。
containerPath-
類型:字串
必要:是 (當使用
mountPoints時)要掛載磁碟區的容器中的路徑。
readOnly-
類型:布林值
必要:否
如果此數值為
true,容器擁有磁碟區的唯讀存取權。如果此值為false,則容器可寫入磁碟區。預設值為false。對於在執行 Windows 作業系統的 EC2 執行個體上執行的任務,請將 值保留為預設值
false。