在 Amazon ECS 任務定義中指定 Docker 磁碟區 - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Amazon ECS 任務定義中指定 Docker 磁碟區

您必須先在任務定義中指定磁碟區和掛載點組態,您的容器才可以使用資料磁碟區。本節說明容器的磁碟區組態。對於使用 Docker 磁碟區的任務,指定 dockerVolumeConfiguration。對於使用綁定掛載主機磁碟區的任務,指定 host 和選用的 sourcePath

以下任務定義 JSON 說明容器 volumesmountPoints 物件的語法。

{ "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。如果 scopetask,則必須省略此參數。

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