Bind-Mounts - Amazon Elastic Container Service

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.

Bind-Mounts

Bei Bind-Mounts wird eine Datei oder ein Verzeichnis auf einem Host, z. B. einer Amazon EC2-Instance, in einem Container gemountet. Bind-Mounts werden für Aufgaben unterstützt, die auf Fargate und Amazon-EC2-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. Für Aufgaben, die auf Amazon EC2-Instances gehostet werden, können die Daten an den Lebenszyklus der Host-Amazon EC2 gebunden werden, indem Sie in Ihrer Aufgabendefinition einen host und optionalen sourcePath Wert angeben. Weitere Informationen finden Sie unter Verwenden von Bind-Mounts in der Docker-Dokumentation.

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.

  • Für Aufgaben, die auf AWS Fargate mit Plattformversion 1.4.0 oder höher (Linux) oder 1.0.0 oder höher (Windows) gehostet werden, erhalten sie standardmäßig mindestens 20 GiB flüchtigen Speicher für Bind-Mounts. Bei Linux-Aufgaben kann die Gesamtmenge des flüchtigen Speichers auf maximal 200 GiB erhöht werden, indem Sie den Parameter ephemeralStorage in Ihrer Aufgabendefinition angeben. Standardmäßig erhalten Amazon-ECS-Windows-Aufgaben, die auf Fargate mit Plattformversion 1.0.0 oder höher gehostet werden mindestens 20 GiB flüchtigen Speicher. Sie können die Gesamtmenge des flüchtigen Speichers bis zu einem Maximum von 200 GiB erhöhen, indem Sie den ephemeralStorage-Parameter in Ihrer Aufgabendefinition angeben.

  • Um Dateien aus einer Dockerdatei auf einem Datenvolume verfügbar zu machen, wenn eine Aufgabe ausgeführt wird, sucht die Amazon-ECS-Datenebene nach einer VOLUME-Richtlinie. Wenn der absolute Pfad, der in der VOLUME-Richtlinie angegeben ist der gleiche wie containerPath ist, die in der Aufgabendefinition angegeben sind, werden die Daten im VOLUME-Richtlinienpfad auf das Datenvolume kopiert. Im folgenden Dockerfile-Beispiel wird eine Datei mit dem Namen examplefile 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 als root festgelegt. Sie können diese Berechtigungen in der Dockerfile anpassen. Das folgende Beispiel definiert den Eigentümer des Verzeichnisses als node.

    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 && chown node:node /var/log/exported RUN touch /var/log/exported/examplefile USER node VOLUME ["/var/log/exported"]
  • Bei Aufgaben, die auf Amazon-EC2-Instances gehostet werden, wenn ein host- und sourcePath-Wert nicht angegeben ist, verwaltet der Docker-Daemon das Bind-Mount für Sie. Wenn keine Container auf dieses Bind-Mount verweisen, löscht der Aufgabenbereinigungsservice des Amazon-ECS-Container-Agenten es letztendlich. Standardmäßig geschieht dies drei Stunden nach dem Stoppen des Containers. Die Zeitspanne kann aber mit der Agenten-Variable ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION konfiguriert werden. Weitere Informationen finden Sie unter Konfiguration des Amazon-ECS-Container-Agenten. Wenn Sie diese Daten länger als den Lebenszyklus des Containers beibehalten möchten, geben Sie für die Bind-Bindungsbereitstellung einen sourcePath-Wert an.