Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Beispiele für Docker-Volumes für Amazon ECS
Die folgenden Beispiele zeigen, wie kurzlebigen Speicher für einen Container bereitgestellt wird und wie ein gemeinsam genutzter Datenträger für mehrere Container bereitgestellt wird und wie persistenter NFS-Speicher für einen Container bereitgestellt wird.
Um kurzlebigen Speicher für einen Container mithilfe eines Docker-Volumes bereitzustellen
In diesem Beispiel verwendet ein Container ein leeres Datenvolumen, das nach Beendigung der Aufgabe entsorgt wird. Ein Beispielanwendungsfall ist, dass Sie z. B. einen Container besitzen, der während einer Aufgabe auf irgendeinen Scratch-Dateispeicherort zugreifen muss. Diese Aufgabe kann mit einem Docker-Volume gelöst werden.
-
Definieren Sie im Abschnitt
volumes
der Aufgabendefinition ein Datenvolume mitname
- undDockerVolumeConfiguration
-Werten. In diesem Beispiel geben wir den Umfang alstask
an, sodass das Volume gelöscht wird, nachdem die Aufgabe angehalten wurde. Zudem wird derlocal
-Treiber verwendet."volumes": [ { "name": "
scratch
", "dockerVolumeConfiguration" : { "scope": "task
", "driver": "local
", "labels": { "scratch
": "space
" } } } ] -
Definieren Sie im Abschnitt
containerDefinitions
einen Container mitmountPoints
-Werten, die auf den Namen des definierten Volumes und den WertcontainerPath
verweisen, um das Volume auf den Container zu mounten."containerDefinitions": [ { "name": "
container-1
", "mountPoints": [ { "sourceVolume": "scratch
", "containerPath": "/var/scratch
" } ] } ]
Um persistenten Speicher für mehrere Container mithilfe eines Docker-Volumes bereitzustellen
In diesem Beispiel möchten Sie, dass ein freigegebenes Volume für mehrere Container verwendet werden soll und es soll bestehen bleiben, nachdem jede einzelne Aufgabe gestoppt wurde, die es verwendet. Der integrierte local
-Treiber wird verwendet, damit das Volume weiterhin mit dem Lebenszyklus der Container-Instance verknüpft ist.
-
Definieren Sie im Abschnitt
volumes
der Aufgabendefinition ein Datenvolume mitname
- undDockerVolumeConfiguration
-Werten. In diesem Beispiel geben Sie einenshared
-Geltungsbereich an, damit das Volume bestehen bleibt. Legen Sie die automatische Bereitstellung auftrue
fest, damit das Volume zur Verwendung erstellt wird. Verwenden Sie dann auch den integriertenlocal
-Treiber."volumes": [ { "name": "
database
", "dockerVolumeConfiguration" : { "scope": "shared
", "autoprovision": true, "driver": "local
", "labels": { "database
": "database_name
" } } } ] -
Definieren Sie im Abschnitt
containerDefinitions
einen Container mitmountPoints
-Werten, die auf den Namen des definierten Volumes und den WertcontainerPath
verweisen, um das Volume auf den Container zu mounten."containerDefinitions": [ { "name": "
container-1
", "mountPoints": [ { "sourceVolume": "database
", "containerPath": "/var/database
" } ] }, { "name": "container-2
", "mountPoints": [ { "sourceVolume": "database
", "containerPath": "/var/database
" } ] } ]
So stellen Sie NFS-persistenten Speicher für einen Container mit einem Docker-Volume bereit
In diesem Beispiel verwendet ein Container ein NFS-Datenvolumen, das beim Start der Aufgabe automatisch gemountet und beim Beenden der Aufgabe automatisch getrennt wird. Dies verwendet den in Docker integrierten local
-Treiber. Ein Beispiel für einen Anwendungsfall ist, dass Sie möglicherweise über einen lokalen NFS-Speicher verfügen und von einer ECS-Anywhere-Aufgabe aus darauf zugreifen müssen. Dies kann mit einem Docker-Volume mit NFS-Treiberoption erreicht werden.
-
Definieren Sie im Abschnitt
volumes
der Aufgabendefinition ein Datenvolume mitname
- undDockerVolumeConfiguration
-Werten. Geben Sie in diesem Beispiel einentask
-Bereich an, damit das Volume nach Beendigung der Aufgabe getrennt wird. Verwenden Sie denlocal
-Treiber und konfigurieren SiedriverOpts
mit dentype
-,device
-, ando
-Optionen entsprechend. Ersetzen SieNFS_SERVER
durch den NFS-Serverendpunkt."volumes": [ { "name": "NFS", "dockerVolumeConfiguration" : { "scope": "task", "driver": "local", "driverOpts": { "type": "nfs", "device": "$
NFS_SERVER
:/mnt/nfs", "o": "addr=$NFS_SERVER
" } } } ] -
Definieren Sie im
containerDefinitions
-Abschnitt einen Container mitmountPoints
-Werten, die auf den Namen des definierten Volumes und dencontainerPath
-Wert verweisen, um das Volume im Container bereitzustellen."containerDefinitions": [ { "name": "
container-1
", "mountPoints": [ { "sourceVolume": "NFS
", "containerPath": "/var/nfsmount
" } ] } ]