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.
Verwenden Sie Bind Mounts mit Amazon ECS
Bei Bind-Mounts wird eine Datei oder ein Verzeichnis auf einem Host, z. B. einer EC2 Amazon-Instance, in einen Container gemountet. Bind-Mounts werden für Aufgaben unterstützt, die sowohl auf Fargate- als auch auf EC2 Amazon-Instances gehostet werden. Bind-Mounts sind an den Lebenszyklus des Containers gebunden, der sie verwendet. Nachdem alle Container, die ein Bind-Mount verwenden, gestoppt wurden, z. B. wenn eine Aufgabe gestoppt wird, werden die Daten entfernt. Bei Aufgaben, die auf EC2 Amazon-Instances gehostet werden, können die Daten an den Lebenszyklus der EC2 Host-Amazon-Instance gebunden werden, indem Sie in Ihrer Aufgabendefinition einen host
optionalen sourcePath
Wert angeben. Weitere Informationen finden Sie unter Verwenden von Bind-Mounts
Die folgenden Szenarien sind gängige Anwendungsfälle für Bind-Mounts.
-
So stellen Sie ein leeres Datenvolume bereit, das in einem oder mehreren Containern bereitgestellt werden soll.
-
So stellen Sie ein Hostdaten-Volume in einem oder mehreren Containern bereit.
-
So geben Sie ein Daten-Volume aus einem Quellcontainer für andere Container in derselben Aufgabe frei.
-
Um einen Pfad und seinen Inhalt aus einer Dockerdatei für einen oder mehrere Container verfügbar zu machen.
Überlegungen zur Verwendung von Bind-Mounts
Bei der Verwendung von Bind-Mounts sollte Folgendes berücksichtigt werden.
-
Standardmäßig erhalten Aufgaben, die auf der AWS Fargate Plattformversion
1.4.0
oder höher (Linux)1.0.0
oder höher (Windows) gehostet werden, mindestens 20 GiB flüchtigen Speicher für Bind-Mounts. Sie können die Gesamtmenge des flüchtigen Speichers auf maximal 200 GiB erhöhen, indem Sie denephemeralStorage
Parameter in Ihrer Aufgabendefinition angeben. -
Um Dateien aus einem Dockerfile für ein Datenvolumen verfügbar zu machen, wenn eine Aufgabe ausgeführt wird, sucht die ECS Amazon-Datenebene nach einer
VOLUME
Direktive. Wenn der absolute Pfad, der in derVOLUME
-Richtlinie angegeben ist der gleiche wiecontainerPath
ist, die in der Aufgabendefinition angegeben sind, werden die Daten imVOLUME
-Richtlinienpfad auf das Datenvolume kopiert. Im folgenden Dockerfile-Beispiel wird eine Datei mit dem Namenexamplefile
im/var/log/exported
-Verzeichnis auf den Host geschrieben und dann innerhalb des Containers gemountet.FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN mkdir -p
/var/log/exported
RUN touch/var/log/exported/examplefile
VOLUME ["/var/log/exported
"]Standardmäßig sind die Volume-Berechtigungen auf
0755
und der Besitzer alsroot
festgelegt. Sie können diese Berechtigungen in der Dockerfile anpassen. Das folgende Beispiel definiert den Eigentümer des Verzeichnisses alsnode
.FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN yum install -y shadow-utils && yum clean all RUN useradd
node
RUN mkdir -p /var/log/exported && chownnode
:node
/var/log/exported RUN touch /var/log/exported/examplefile USERnode
VOLUME ["/var/log/exported"] -
Bei Aufgaben, die auf EC2 Amazon-Instances gehostet werden und kein
sourcePath
Wert fürhost
und angegeben ist, verwaltet der Docker-Daemon den Bind-Mount für Sie. Wenn kein Container auf diesen Bind-Mount verweist, löscht der Amazon ECS Container Agent Task Cleanup Service ihn schließlich. Standardmäßig geschieht dies drei Stunden nach dem Stoppen des Containers. Die Zeitspanne kann aber mit der Agenten-VariableECS_ENGINE_TASK_CLEANUP_WAIT_DURATION
konfiguriert werden. Weitere Informationen finden Sie unter Konfiguration des ECS Amazon-Container-Agenten. Wenn Sie diese Daten länger als den Lebenszyklus des Containers beibehalten möchten, geben Sie für die Bind-Bindungsbereitstellung einensourcePath
-Wert an.