本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 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
。