本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon ECS 任務定義中指定繫結掛載
對於在 Fargate 或 Amazon EC2 執行個體上託管的 Amazon ECS 任務,下列任務定義 JSON 程式碼片段會顯示任務定義的 volumes
、 mountPoints
和 ephemeralStorage
物件語法。
{ "family": "", ... "containerDefinitions" : [ { "mountPoints" : [ { "containerPath" : "
/path/to/mount_volume
", "sourceVolume" : "string
" } ], "name" : "string
" } ], ... "volumes" : [ { "name" : "string
" } ], "ephemeralStorage": { "sizeInGiB":integer
} }
對於託管於 Amazon EC2 執行個體上的 Amazon ECS 任務,您可以在指定任務磁碟區詳細資訊時使用選用的 host
參數和 sourcePath
。指定時,它會將綁定掛載任務的生命週期,而不是容器。
"volumes" : [ { "host" : { "sourcePath" : "
string
" }, "name" : "string
" } ]
下面會更詳細地描述每個任務定義參數。
name
-
類型:字串
必要:否
磁碟區名稱。最多允許 255 個字母 (大寫和小寫)、數字、連字號 (
-
) 和底線 (_
)。此名稱會在容器定義mountPoints
物件的sourceVolume
參數中參考。 host
-
必要:否
host
參數用於將綁定掛載的生命週期綁定到主機 Amazon EC2 執行個體,而非任務,以及它的儲存位置。如果host
參數是空的,則 Docker 常駐程式會為您的資料磁碟區指派主機路徑,但其相關聯的容器停止執行後,不保證會保留資料。Windows 容器可在
$env:ProgramData
所在的相同磁碟上掛載整個目錄。注意
只有在使用 Amazon EC2 執行個體上託管的任務時,才支援
sourcePath
參數。sourcePath
-
類型:字串
必要:否
使用
host
參數時,指定sourcePath
以宣告在主機 Amazon EC2 執行個體上提供給容器的路徑。如果此參數是空的,則 Docker 常駐程式會為您指派主機路徑。如果host
參數包含sourcePath
檔案位置,資料磁碟區將保留在主機 Amazon EC2 執行個體上的指定位置,直到您手動將其刪除為止。如果sourcePath
值不存在於主機 Amazon EC2 執行個體,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
。
ephemeralStorage
-
類型:物件
必要:否
為任務配置的暫時性儲存量。對於 AWS Fargate 使用平台版本
1.4.0
或更新版本 (Linux) 或更新版本 (1.0.0
Windows) 在 上託管的任務,此參數用於擴展可用的暫時性儲存總量,超過預設數量。您可以使用 Copilot CLI、CloudFormation、 AWS SDK 或 CLI 來指定繫結掛載的暫時性儲存。