

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.

# Amazon-ECS-Aufgabendefinitionsparameter für Amazon ECS Managed Instances
<a name="task_definition_parameters-managed-instances"></a>

Aufgabendefinitionen sind in verschiedene Teile aufgeteilt: die Aufgabenfamilie, die AWS Identity and Access Management (IAM-) Aufgabenrolle, den Netzwerkmodus, Containerdefinitionen, Volumes und Kapazität. Die Familien- und Container-Definitionen sind in einer Aufgabendefinition obligatorisch. Im Gegensatz dazu sind Aufgabenrolle, Netzwerkmodus, Volumes und Kapazität optional.

Sie können diese Parameter in einer JSON-Datei verwenden, um Ihre Aufgabendefinition zu konfigurieren.

Im Folgenden finden Sie detaillierte Beschreibungen für jeden Aufgabendefinitionsparameter für Amazon ECS Managed Instances

## Familie
<a name="family-managed-instances"></a>

`family`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Wenn Sie eine Aufgabendefinition registrieren, vergeben Sie eine Familie, ähnlich einem Namen für mehrere Versionen der Aufgabendefinition, die mit einer Revisionsnummer angegeben ist. Die erste Aufgabendefinition, die in einer bestimmten Familie registriert wird, erhält die Revision 1 und alle danach registrierten Definitionen erhalten eine sequenzielle Revisionsnummer.

## Capacity (Kapazität)
<a name="requires_compatibilities-managed-instances"></a>

Wenn Sie eine Aufgabendefinition registrieren, können Sie die Kapazität angeben, anhand der Amazon ECS die Aufgabendefinition validieren soll. Eine Client-Ausnahme wird zurückgegeben, wenn die Aufgabendefinition nicht anhand der angegebenen Kompatibilitäten validiert. Weitere Informationen finden Sie unter [Amazon-ECS-Starttypen](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html).

Der folgende Parameter ist in einer Aufgabendefinition zulässig.

`requiresCompatibilities`  
Typ: Zeichenfolgen-Array  
Erforderlich: Nein  
Zulässige Werte: `MANAGED_INSTANCES`  
Die Kapazität, anhand der die Aufgabendefinition validiert wird. Dies leitet eine Prüfung ein, um sicherzustellen, dass alle in der Aufgabendefinition verwendeten Parameter den Anforderungen für Amazon ECS Managed Instances entsprechen.

## -Rolle für Aufgabe
<a name="task_role_arn-managed-instances"></a>

`taskRoleArn`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Wenn Sie eine Aufgabendefinition registrieren, können Sie eine Aufgabenrolle für eine IAM-Rolle angeben, die es den Containern in der Aufgabe ermöglicht AWS APIs , die in den zugehörigen Richtlinien angegebenen Aufgaben in Ihrem Namen aufzurufen. Weitere Informationen finden Sie unter [Aufgaben-IAM-Rolle für Amazon ECS](task-iam-roles.md).

## -Rolle für die Aufgabenausführung
<a name="execution_role_arn-managed-instances"></a>

`executionRoleArn`  
Typ: Zeichenfolge  
Required: Conditional  
Der Amazon-Ressourcenname (ARN) der Aufgabenausführungsrolle, die dem Amazon ECS-Container-Agenten die Erlaubnis erteilt, AWS API-Aufrufe in Ihrem Namen durchzuführen. Weitere Informationen finden Sie unter [IAM-Rolle für die Amazon-ECS-Aufgabenausführung](task_execution_IAM_role.md).  
Die IAM-Rolle für die Aufgabenausführung ist je nach den Anforderungen Ihrer Aufgabe erforderlich. Die Rolle ist für private ECR-Image-Abrufe und die Verwendung des `awslogs` Log-Treibers erforderlich.

## Netzwerkmodus
<a name="network_mode-managed-instances"></a>

`networkMode`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Standard: `awsvpc`  
Der Netzwerkmodus, der für die Container in der Aufgabe verwendet werden soll. Für Amazon-ECS-Aufgaben, die in Amazon ECS Managed Instances gehostet werden, sind die gültigen Werte `awsvpc` und `host`. Wenn kein Netzwerkmodus angegeben ist, ist der Standard-Netzwerkmodus`awsvpc`.  
Wenn der Netzwerkmodus ist`host`, umgeht die Aufgabe die Netzwerkisolierung und Container verwenden den Netzwerkstapel des Hosts direkt.  
Wenn Sie Aufgaben im Netzwerkmodus `host` ausführen, sollten Sie aus Sicherheitsgründen Container nicht über den Root-Benutzer (UID 0) ausführen. Verwenden Sie als bewährte Sicherheitsmethode immer einen Nicht-Root-Benutzer.
Für den Netzwerkmodus `awsvpc` wird die Aufgabe einer Elastic-Network-Schnittstelle zugeordnet und Sie müssen eine `NetworkConfiguration` angeben, wenn Sie mit der Aufgabendefinition einen Service erstellen oder eine Aufgabe ausführen wollen. Weitere Informationen finden Sie unter [Amazon-ECS-Aufgabenvernetzung für Amazon ECS Managed Instances](managed-instance-networking.md).  
Die Netzwerkmodi `host` und `awsvpc` bieten die höchste Netzwerkleistung für Container, da sie den Amazon EC2-Netzwerkstapel verwenden. Für die Netzwerkmodi `host` und `awsvpc` sind die freigegebenen Container-Ports direkt auf den entsprechenden Host-Port (für den Netzwerkmodus `host`) oder den angehängten Elastic-Network-Schnittstellenanschluss (für den Netzwerkmodus `awsvpc`) abgebildet. Aus diesem Grund können Sie keine dynamischen Host-Port-Zuordnungen nutzen.

## Laufzeit-Plattform
<a name="runtime-platform-managed-instances"></a>

`operatingSystemFamily`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Standard: LINUX  
Wenn Sie eine Aufgabendefinition anmelden, geben Sie die Betriebssystemfamilie an.   
Der gültige Wert für dieses Feld ist `LINUX`.  
Alle Aufgabendefinitionen, die in einem Service verwendet werden, müssen den gleichen Wert für diesen Parameter aufweisen.  
Wenn eine Aufgabendefinition Teil eines Services ist, muss dieser Wert mit dem `platformFamily`-Wert des Services übereinstimmen.

`cpuArchitecture`  
Typ: Zeichenfolge  
Required: Conditional  
Wenn Sie eine Aufgabendefinition anmelden, geben Sie die CPU-Architektur an. Die gültigen Werte sind `X86_64` und `ARM64`.  
Wenn Sie keinen Wert angeben, versucht Amazon ECS, Aufgaben auf der verfügbaren CPU-Architektur basierend auf der Konfiguration des Kapazitätsanbieters zu platzieren. Um sicherzustellen, dass Aufgaben auf einer bestimmten CPU-Architektur platziert werden, geben Sie `cpuArchitecture` in der Aufgabendefinition einen Wert für an.  
Alle Aufgabendefinitionen, die in einem Service verwendet werden, müssen den gleichen Wert für diesen Parameter aufweisen.  
Mehr über `ARM64` erfahren Sie unter [Amazon-ECS-Aufgabendefinitionen für 64-Bit-ARM-Workloads](ecs-arm64.md).

## Aufgabengröße
<a name="task_size-managed-instances"></a>

Wenn Sie eine Aufgabendefinition registrieren, können Sie den gesamten CPU- und Arbeitsspeicher für die Aufgabe angeben. Dies erfolgt separat von den Werten `cpu` und `memory` bei der Containerdefinition. Für Aufgaben, die auf Amazon-EC2-Instances gehostet werden, sind diese Felder optional.

**Anmerkung**  
CPU- und Speicherparameter auf Aufgabenebene werden für Windows-Container ignoriert. Es wird empfohlen, für Windows-Container Ressourcen auf Container-Ebene festzulegen.

`cpu`  
Typ: Zeichenfolge  
Required: Conditional  
Das harte Limit der CPU-Einheiten, die für die Aufgabe vorhanden sind. Sie können CPU-Werte in der JSON-Datei als Zeichenfolge in CPU-Einheiten oder virtuell CPUs (vCPUs) angeben. Sie können beispielsweise einen CPU-Wert entweder `1024` in CPU-Einheiten oder `1 vCPU` in v angebenCPUs. Wenn die Aufgabendefinition registriert ist, wird ein vCPU-Wert in eine Ganzzahl umgewandelt, die die CPU-Einheiten angibt.  
Dies ist ein optionales Feld. Wenn in Ihrem Cluster keine registrierten Container-Instances mit den angeforderten verfügbaren CPU-Einheiten vorhanden sind, schlägt die Aufgabe fehl. Unterstützte Werte liegen zwischen `0.125` `10` v CPUs und CPUs v.

`memory`  
Typ: Zeichenfolge  
Required: Conditional  
Die harte Arbeitsspeichergrenze, die für die Aufgabe zur Verfügung steht. Sie können Speicherwerte in der Aufgabendefinition als Zeichenfolge in Mebibyte (MiB) oder Gigabyte (GB) angeben. Sie können beispielsweise einen Speicherwert entweder als `3072` in MiB oder `3 GB` in GB angeben. Wenn die Aufgabendefinition registriert ist, wird ein GB-Wert in eine Ganzzahl umgewandelt, die die MiB angibt.  
Dieses Feld ist optional und ein beliebiger Wert kann verwendet werden. Wenn ein Speicherwert auf Aufgabenebene angegeben wird, ist der Speicherwert auf Container-Ebene optional. Wenn Ihr Cluster keine registrierten Container-Instances mit dem erforderlichen Arbeitsspeicher hat, schlägt die Aufgabe fehl. Sie können Ihre Ressourcennutzung maximieren, indem Sie Ihren Aufgaben so viel Arbeitsspeicher wie möglich für einen bestimmten Instance-Typ zuweisen. Weitere Informationen finden Sie unter [Arbeitsspeicher für Linux-Container-Instances von Amazon ECS reservieren](memory-management.md).

## Andere Parameter der Aufgabendefinition
<a name="other_task_definition_params-managed-instances"></a>

Die folgenden Parameter für die Aufgabendefinition können beim Registrieren von Aufgabendefinitionen in der Amazon-ECS-Konsole mit der Option **Configure via JSON (Über JSON konfigurieren)** verwendet werden. Weitere Informationen finden Sie unter [Erstellen einer Amazon-ECS-Aufgabendefinition mit der Konsole](create-task-definition.md).

**Topics**
+ [Flüchtiger Speicher](#task_definition_ephemeralStorage-managed-instances)
+ [IPC-Modus](#task_definition_ipcmode-managed-instances)
+ [PID-Modus](#task_definition_pidmode-managed-instances)
+ [Proxykonfiguration](#proxyConfiguration-managed-instances)
+ [Tags (Markierungen)](#tags-managed-instances)
+ [Elastic Inference Accelerator (veraltet)](#elastic-Inference-accelerator-managed-instances)
+ [Platzierungsbeschränkungen](#constraints-managed-instances)
+ [Datenträger](#volumes-managed-instances)

### Flüchtiger Speicher
<a name="task_definition_ephemeralStorage-managed-instances"></a>

`ephemeralStorage`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: [EphemeralStorage](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_EphemeralStorage.html) Objekt  
Erforderlich: Nein  
Die Menge des flüchtigen Speichers (in GB), der für die Aufgabe zugewiesen werden soll. Dieser Parameter wird verwendet, um die Gesamtmenge des flüchtigen Speichers über den Standardbetrag hinaus für Aufgaben zu erweitern, die auf AWS Fargate gehostet werden. Weitere Informationen finden Sie unter [Bind-Mounts mit Amazon ECS verwenden](bind-mounts.md).

### IPC-Modus
<a name="task_definition_ipcmode-managed-instances"></a>

`ipcMode`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: Zeichenfolge  
Erforderlich: Nein  
Der IPC-Ressourcen-Namespace, der für die Container in der Aufgabe verwendet werden soll. Die gültigen Werte sind `host`, `task` oder `none`. Wenn `host` angegeben ist, dann teilen sich alle Container innerhalb der Aufgaben, die den IPC-Modus `host` auf derselben Container-Instance angegeben haben, die gleichen IPC-Ressourcen mit der Amazon EC2-Host-Instance. Wenn `task` angegeben ist, teilen sich alle Container innerhalb der angegebenen Aufgabe die gleichen IPC-Ressourcen. Wenn `none` angegeben ist, dann sind die IPC-Ressourcen innerhalb der Container einer Aufgabe privat und werden nicht mit anderen Containern einer Aufgabe oder der Container-Instance geteilt. Wenn kein Wert angegeben ist, hängt die gemeinsame Nutzung des IPC-Ressourcennamespaces von der Konfiguration der Container-Laufzeit ab.

### PID-Modus
<a name="task_definition_pidmode-managed-instances"></a>

`pidMode`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Der Prozess-Namespace, der für die Container in der Aufgabe verwendet werden soll. Die gültigen Werte sind `host` und `task`. Wenn `host` angegeben ist, dann teilen sich alle Container innerhalb der Aufgaben, die den `host`-PID-Modus auf derselben Container-Instance angegeben haben, denselben Prozess-Namespace mit der Amazon-EC2-Host-Instance. Wenn `task` angegeben ist, teilen sich alle Container innerhalb der angegebenen Aufgabe den gleichen Prozess-Namespace. Wenn kein Wert angegeben wird, ist der Standard ein privater Namespace.  
Wenn der PID-Modus `host` verwendet wird, ist das Risiko einer unerwünschten Exposition des Prozess-Namespace erhöht.

### Proxykonfiguration
<a name="proxyConfiguration-managed-instances"></a>

`proxyConfiguration`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: [ProxyConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ProxyConfiguration.html) Objekt  
Erforderlich: Nein  
Die Konfigurationsdetails für den App Mesh-Proxy.

### Tags (Markierungen)
<a name="tags-managed-instances"></a>

Die Metadaten, die Sie auf die Aufgabendefinition anwenden, um die Kategorisierung und Organisation zu erleichtern. Jedes Tag (Markierung) besteht aus einem Schlüssel und einem optionalen Wert. Sie können beide definieren.

Die folgenden grundlegenden Einschränkungen gelten für Tags (Markierungen):
+ Die maximale Anzahl an Tags pro Ressource beträgt 50.
+ Jeder Tag (Markierung) muss für jede Ressource eindeutig sein. Jeder Tag (Markierung) kann nur einen Wert haben.
+ Maximale Schlüssellänge: 128 Unicode-Zeichen in UTF-8
+ Maximale Wertlänge: 256 Unicode-Zeichen in UTF-8
+ Wenn Ihr Markierungsschema für mehrere -Services und -Ressourcen verwendet wird, denken Sie daran, dass andere Services möglicherweise Einschränkungen für zulässige Zeichen haben. Allgemein zulässige Zeichen sind: Buchstaben, Zahlen und Leerzeichen, die in UTF-8 dargestellt werden können, sowie die folgenden Zeichen: \$1 - =. \$1:/@.
+ Bei Tag-Schlüsseln und -Werten wird zwischen Groß- und Kleinschreibung unterschieden.
+ Verwenden `aws:` Sie weder für Schlüssel noch für Werte eine Kombination aus Groß- oder Kleinbuchstaben, z. B. ein Präfix, da es für die Verwendung reserviert ist. `AWS:` AWS Sie können keine Tag-Schlüssel oder -Werte mit diesem Präfix bearbeiten oder löschen. Tags mit diesem Präfix werden nicht als Ihre Tags pro Ressourcenlimit angerechnet.

`key`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Ein Teil eines Schlüssel-Wert-Paares, aus dem ein Tag besteht. Ein Schlüssel ist eine allgemeine Bezeichnung, die wie eine Kategorie für spezifischere Tag-Werte fungiert.

`value`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Der optionale Teil eines Schlüssel-Wert-Paares, aus dem ein Tag besteht. Ein Wert fungiert als Deskriptor in einer Tag-Kategorie (Schlüssel).

### Elastic Inference Accelerator (veraltet)
<a name="elastic-Inference-accelerator-managed-instances"></a>

**Anmerkung**  
Amazon Elastic Inference (EI) ist für Kunden nicht mehr verfügbar.

`inferenceAccelerator`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: [InferenceAccelerator](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_InferenceAccelerator.html) Objekt  
Erforderlich: Nein  
Die Elastic Inference-Beschleuniger, die für die Container in der Aufgabe verwendet werden sollen.

### Platzierungsbeschränkungen
<a name="constraints-managed-instances"></a>

`placementConstraints`  
Typ: Array von [TaskDefinitionPlacementConstraint](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskDefinitionPlacementConstraint.html)-Objekten  
Erforderlich: Nein  
Ein Array von Platzierungs-Einschränkungs-Objekten, die für die Aufgabe verwendet werden sollen. Sie können maximal zehn Einschränkungen pro Aufgabe festlegen (dieses Limit enthält Einschränkungen in der Aufgabendefinition und solche, die während der Laufzeit festgelegt werden).  
Amazon ECS unterstützt die Platzierungsbeschränkungen `distinctInstace` und `memberOf` für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden. Die folgenden Attribute werden für Aufgaben unterstützt, die die Platzierungsbeschränkung `memberOf` verwenden:  
+ `ecs.subnet-id`
+ `ecs.availability-zone`
+ `ecs.cpu-architecture`
+ `ecs.instance-type`
Weitere Informationen über Platzierungsbeschränkungen finden Sie unter [Definieren der Container-Instances, die Amazon ECS für Aufgaben verwendet](task-placement-constraints.md).

### Datenträger
<a name="volumes-managed-instances"></a>

Wenn Sie eine Aufgabendefinition registrieren, können Sie optional eine Liste von Volumes für Ihre Aufgaben angeben. Auf diese Weise können Sie Daten-Volumes in Ihren Aufgaben verwenden.

Weitere Informationen über Volume-Typen und anderen Parametern finden Sie unter [Speicheroptionen für Amazon-ECS-Aufgaben](using_data_volumes.md).

`name`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Der Name des Volumes. Bis zu 255 Buchstaben (Groß- und Kleinbuchstaben), Ziffern und Unterstriche sind zulässig. Auf diesen Namen wird im Parameter `sourceVolume` der Containerdefinition `mountPoints` verwiesen.

`host`  
Typ: [HostVolumeProperties](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HostVolumeProperties.html) Objekt  
Erforderlich: Nein  
Dieser Parameter wird angegeben, wenn Sie Bind-Mount-Host-Volumes verwenden. Die Inhalte des `host`-Parameters bestimmen, ob Ihr Bind-Mount-Host-Volume auf der Host-Container-Instance erhalten bleibt und wo es gespeichert wird. Wenn der `host` Parameter leer ist, weist das System Ihrem Datenvolume einen Hostpfad zu. Es ist jedoch nicht garantiert, dass die Daten erhalten bleiben, wenn die ihnen zugeordneten Container nicht mehr laufen.    
`sourcePath`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Wenn der `host` Parameter verwendet wird, geben Sie a an, `sourcePath` um den Pfad auf der Host-Instance zu deklarieren, der dem Container präsentiert wird. Wenn dieser Parameter leer ist, weist Ihnen das System einen Hostpfad zu. Wenn der `host` Parameter einen `sourcePath` Dateispeicherort enthält, verbleibt das Datenvolume am angegebenen Speicherort auf der Host-Instance, bis Sie es manuell löschen. Wenn der `sourcePath` Wert auf der Host-Instance nicht vorhanden ist, wird er vom System erstellt. Wenn der Speicherort nicht vorhanden ist, wird der Inhalt des Quellpfadordners exportiert.  
Auf Amazon ECS Managed Instances sind Teile des Host-Dateisystems schreibgeschützt. Das `sourcePath` muss auf ein beschreibbares Verzeichnis wie oder verweisen. `/var` `/tmp` Weitere Informationen finden Sie unter [Bind-Mounts mit Amazon ECS verwenden](bind-mounts.md).

`dockerVolumeConfiguration`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: [DockerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DockerVolumeConfiguration.html) Objekt  
Erforderlich: Nein  
Dieser Parameter wird angegeben, wenn Sie Docker-Volumes verwenden.

`efsVolumeConfiguration`  
Typ: [EFSVolumeKonfigurationsobjekt](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_EFSVolumeConfiguration.html)  
Erforderlich: Nein  
Dieser Parameter wird angegeben, wenn Sie ein Amazon-EFS-Dateisystem für die Aufgabenspeicherung verwenden.

`fsxWindowsFileServerVolumeConfiguration`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) Objekt  
Erforderlich: Nein  
Dieser Parameter wird angegeben, wenn Sie das Dateisystem Amazon FSx for Windows File Server für die Aufgabenspeicherung verwenden.

`configuredAtLaunch`  
Typ: Boolesch  
Erforderlich: Nein  
Gibt an, ob das Volume beim Start konfiguriert werden soll. Dieser Parameter wird verwendet, um Amazon-EBS-Volumes für eigenständige Aufgaben oder Aufgaben, die als Teil eines Service erstellt wurden, zu erstellen. Für jede Revision der Aufgabendefinition darf beim Start nur ein Volume in der Volume-Konfiguration konfiguriert sein.

## Containerdefinitionen
<a name="container_definitions-managed-instances"></a>

Wenn Sie eine Aufgabendefinition registrieren, müssen Sie eine Liste der Containerdefinitionen angeben, die an den Docker-Daemon auf einer Container-Instance übergeben werden. Die folgenden Parameter sind in einer Containerdefinition zulässig.

**Topics**
+ [Name](#container_definition_name-managed-instances)
+ [Image](#container_definition_image-managed-instances)
+ [Arbeitsspeicher](#container_definition_memory-managed-instances)
+ [CPU](#container_definition_cpu-managed-instances)
+ [Port-Zuordnungen](#container_definition_portmappings-managed-instances)
+ [Private-Repository-Daten](#container_definition_repositoryCredentials-managed-instances)
+ [Essenziell](#container_definition_essential-managed-instances)
+ [Einstiegspunkt](#container_definition_entrypoint-managed-instances)
+ [Befehl](#container_definition_command-managed-instances)
+ [Arbeitsverzeichnis](#container_definition_workingdirectory-managed-instances)
+ [Erweiterte Parameter für Containerdefinitionen](#advanced_container_definition_params-managed-instances)
+ [Linux-Parameter](#container_definition_linuxparameters-managed-instances)

### Name
<a name="container_definition_name-managed-instances"></a>

`name`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Der Name eines Containers. Bis zu 255 Buchstaben (Groß- und Kleinbuchstaben), Zahlen, Bindestriche und Unterstriche sind zulässig. Wenn Sie mehrere Container in einer Aufgabedefinition verknüpfen, kann der `name` eines Containers in die `links` eines anderen Containers eingefügt werden. Das dient dazu, die Container zu verbinden.

### Image
<a name="container_definition_image-managed-instances"></a>

`image`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Das Image zum Starten eines Containers. Diese Zeichenfolge wird direkt an den Docker-Daemon übergeben. Images in der Docker Hub-Registrierung sind standardmäßig verfügbar. Sie können entweder mit `repository-url/image:tag` oder mit `repository-url/image@digest` auch andere Repositorys angeben. Bis zu 255 Buchstaben (Groß- und Kleinbuchstaben), Ziffern, Bindestriche, Unterstriche, Doppelpunkte, Punkte und Schrägstriche sind zulässig. Dieser Parameter ist im Docker-Befehl create-container und im `IMAGE`-Parameter des Docker-Befehls run der Option `Image` zugeordnet.  
+ Wenn eine neue Aufgabe gestartet wird, ruft der Amazon-ECS-Container-Agent die neueste Version des angegebenen Image und das Tag für den Container ab, der verwendet werden soll. Allerdings werden nachfolgende Aktualisierungen eines Repository-Images nicht an Aufgaben übertragen, die bereits ausgeführt werden.
+ Wenn Sie im Image-Pfad in der Aufgabendefinition kein Tag oder Digest angeben, verwendet der Amazon ECS-Container-Agent das `latest` Tag, um das angegebene Bild abzurufen. 
+  Nachfolgende Aktualisierungen eines Repository-Images werden nicht an bereits ausgeführte Aufgaben weitergegeben.
+ Images in privaten Registrierungen werden unterstützt. Weitere Informationen finden Sie unter [Verwenden von AWS Nicht-Container-Images in Amazon ECS](private-auth.md).
+ Images in Amazon ECR-Repositorys können entweder mit der vollständigen `registry/repository:tag`- oder der `registry/repository@digest`-Namenskonvention angegeben werden (beispielsweise `aws_account_id.dkr.ecr.region.amazonaws.com``/my-web-app:latest` oder `aws_account_id.dkr.ecr.region.amazonaws.com``/my-web-app@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE`).
+ Images in offiziellen Repositorys in Docker Hub verwenden einen einzelnen Namen (z. B. `ubuntu` oder `mongo`).
+ Images in anderen Repositorys in Docker Hub sind mit einem Organisationsnamen qualifiziert (z. B `amazon/amazon-ecs-agent`).
+ Image in anderen Online-Repositorys sind durch einen Domain-Namen zusätzlich qualifiziert (z. B. `quay.io/assemblyline/ubuntu`).

`versionConsistency`  
Typ: Zeichenfolge  
Gültige Werte: `enabled`\$1`disabled`  
Erforderlich: Nein  
Gibt an, ob Amazon ECS das in der Container-Definition angegebene Container-Image-Tag in einen Image-Digest auflöst. Das Standardverhalten ist `enabled`. Wenn Sie den Wert für einen Container auf `disabled` festlegen, löst Amazon ECS das Container-Image-Tag nicht in einen Digest auf und verwendet den in der Container-Definition angegebenen ursprünglichen Image-URI für die Bereitstellung. Weitere Informationen zu r Auflösung von Container-Images finden Sie unter [Container-Image-Auflösung](deployment-type-ecs.md#deployment-container-image-stability).

### Arbeitsspeicher
<a name="container_definition_memory-managed-instances"></a>

`memory`  
Typ: Ganzzahl  
Erforderlich: Nein  
Die Menge des Arbeitsspeichers (in MiB), die dem Container bereitgestellt wird. Wenn Ihr Container versucht, das hier angegebene Limit zu überschreiten, wird der Container beendet. Die gesamte Speicherkapazität, die für alle Container reserviert ist, muss niedriger sein als der Aufgabenwert `memory`, sofern angegeben. Dieser Parameter ist im Docker-Befehl create-container der Option `Memory` und die Option `--memory` ist der Docker-Ausführung zugeordnet.  
Der Docker-Daemon 20.10.0 oder neuer reserviert mindestens 6 MiB Arbeitsspeicher für einen Container. Geben Sie daher nicht weniger als 6 MiB Arbeitsspeicher für Ihre Container an.  
Der Docker-Daemon 19.03.13-ce oder älter reserviert mindestens 4 MiB Arbeitsspeicher für einen Container. Geben Sie daher nicht weniger als 4 MiB Arbeitsspeicher für Ihre Container an.  
Wenn Sie versuchen, Ihre Ressourcennutzung zu maximieren, indem Sie Ihren Aufgaben so viel Arbeitsspeicher wie möglich für einen bestimmten Instance-Typ zuweisen, lesen Sie nach unter [Arbeitsspeicher für Linux-Container-Instances von Amazon ECS reservieren](memory-management.md).

`memoryReservation`  
Typ: Ganzzahl  
Erforderlich: Nein  
Die weiche Arbeitsspeichergrenze (in MiB) für die Reservierung für den Container. Wenn der Systemspeicher strittig ist, versucht Docker den Arbeitsspeicher des Containers innerhalb der weichen Grenze zu halten. Ihr Container kann jedoch bei Bedarf mehr Speicher verwenden. Der Container kann bis zu der mit dem Parameter `memory` angegebenen harten Grenze (falls zutreffend) oder bis zum gesamten verfügbaren Speicher der Container-Instance verwendet werden, je nachdem, was zuerst eintritt. Dieser Parameter ist im Docker-Befehl create-container der Option `MemoryReservation` und die Option `--memory-reservation` ist der Docker-Ausführung zugeordnet.  
Wenn kein Speicherwert auf Aufgabenebene angegeben ist, müssen Sie eine Ganzzahl ungleich Null für einen oder beide Werte von `memory` oder `memoryReservation` in einer Container-Definition angeben. Wenn Sie beide angeben, muss `memory` größer als `memoryReservation` sein. Wenn Sie `memoryReservation` angeben, wird dieser Wert von den verfügbaren Speicherressourcen für die Container-Instance abgezogen, auf der der Container platziert ist. Andernfalls wird der Wert `memory` verwendet.  
Nehmen wir zum Beispiel an, dass Ihr Container normalerweise 128 MiB Arbeitsspeicher verwendet, aber gelegentlich kurzzeitig auf 256 MiB Arbeitsspeicher expandiert. Sie können einen `memoryReservation` von 128 MiB und einen festen `memory`-Grenzwert von 300 MiB festlegen. Mit dieser Konfiguration kann der Container nur 128 MiB Arbeitsspeicher von den verbleibenden Ressourcen auf der Container-Instance reservieren. Gleichzeitig ermöglicht die Konfiguration auch, dass der Container bei Bedarf mehr Speicherressourcen verwenden kann.  
Der Docker-Daemon 20.10.0 oder neuer reserviert mindestens 6 MiB Arbeitsspeicher für einen Container. Geben Sie daher nicht weniger als 6 MiB Arbeitsspeicher für Ihre Container an.  
Der Docker-Daemon 19.03.13-ce oder älter reserviert mindestens 4 MiB Arbeitsspeicher für einen Container. Geben Sie daher nicht weniger als 4 MiB Arbeitsspeicher für Ihre Container an.  
Wenn Sie versuchen, Ihre Ressourcennutzung zu maximieren, indem Sie Ihren Aufgaben so viel Arbeitsspeicher wie möglich für einen bestimmten Instance-Typ zuweisen, lesen Sie nach unter [Arbeitsspeicher für Linux-Container-Instances von Amazon ECS reservieren](memory-management.md).

### CPU
<a name="container_definition_cpu-managed-instances"></a>

`cpu`  
Typ: Ganzzahl  
Erforderlich: Nein  
Die Anzahl der `cpu`-Einheiten, die für den Container reserviert sind. Dieser Parameter ist im Docker-Befehl create-container der Option `CpuShares` und die Option `--cpu-shares` ist der Docker-Ausführung zugeordnet.  
Dieses Feld ist optional für Aufgaben, die EC2-Kapazitätsanbieter verwenden. Die einzige Anforderung ist, dass die gesamte reservierte CPU-Kapazität für alle Container in einer Aufgabe unter dem Wert `cpu` auf der Aufgabenebene liegt.  
Sie können die Anzahl der CPU-Einheiten ermitteln, die pro EC2-Instance-Typ verfügbar sind, indem Sie das v, das für diesen Instance-Typ auf der [Amazon EC2 EC2-Instance-Detailseite CPUs ](https://aws.amazon.com/ec2/instance-types/) aufgeführt ist, mit 1.024 multiplizieren.
Linux-Container teilen sich nicht zugewiesene CPU-Einheiten mit anderen Containern auf der Container-Instance im gleichen Verhältnis wie die ihnen zugewiesene Menge. Wenn Sie beispielsweise eine Aufgabe mit einem einzelnen Container auf einem Single-Core-Instance-Typ mit 512 CPU-Einheiten für diesen Container ausführen und dies die einzige Aufgabe ist, die auf der Container-Instance ausgeführt wird, könnte dieser Container jederzeit den vollen Anteil von 1 024 CPU-Einheiten nutzen. Wenn Sie jedoch auf dieser Container-Instance eine weitere Kopie der gleichen Aufgabe starten würden, würde jede Aufgabe bei Bedarf eine garantierte Menge von mindestens 512 CPU-Einheiten erhalten. Darüber hinaus könnte jeder der Container automatisch mehr CPU-Einheiten nutzen, wenn diese vom anderen Container nicht verwendet werden. Wenn jedoch beide Aufgaben die ganze Zeit 100 % aktiv sind, stünden ihnen nur 512 CPU-Einheiten zur Verfügung.  
Auf Linux-Container-Instances verwendet der Docker-Daemon auf der Container-Instance den CPU-Wert, um das relative CPU-Anteilsverhältnis für die laufenden Container zu berechnen. Weitere Informationen finden Sie unter [CPU share constraint](https://docs.docker.com/engine/reference/run/#cpu-share-constraint) in der Docker-Dokumentation. Der kleinste gültige CPU-Freigabe wert, den der Linux-Kernel zulässt, ist 2. Der CPU-Parameter ist jedoch nicht erforderlich und Sie können CPU-Werte unter 2 in Ihren Container-Definitionen verwenden. Bei CPU-Werten unter 2 (einschließlich 0) variiert das Verhalten je nach Version Ihres Amazon ECS-Container-Agenten:  
+ **Agentenversionen kleiner oder gleich 1.1.0**: Null-CPU-Werte werden an Docker als 0 übergeben, die von Docker dann in 1 024 CPU-Anteile konvertiert werden. CPU-Werte von 1 werden an Docker als 1 übergeben, die der Linux-Kernel in zwei CPU-Freigaben konvertiert.
+ **Agenten-Versionen größer oder gleich 1.2.0:** Null-CPU-Werte und CPU-Werte von 1 werden an Docker als 2 übergeben.
Auf Windows-Container-Instances wird der CPU-Grenzwert als absolutes Limit oder als Kontingent festgelegt. Windows-Container haben nur auf die angegebene CPU-Menge Zugriff, die in der Aufgabendefinition beschrieben wird. Ein CPU-Wert mit dem Wert „NULL“ oder „null“ wird als `0` an Docker übergeben, die von Windows als 1 % einer CPU interpretiert wird.

### Port-Zuordnungen
<a name="container_definition_portmappings-managed-instances"></a>

`portMappings`  
Typ: Objekt-Array  
Erforderlich: Nein  
Port-Zuordnungen machen die Netzwerk-Ports Ihres Containers der Außenwelt zugänglich. Dadurch können Clients auf Ihre Anwendung zugreifen. Port-Zuordnungen werden auch für die Kommunikation zwischen Containern innerhalb derselben Aufgabe verwendet.  
Legen Sie für Aufgabendefinitionen, die den Netzwerkmodus `awsvpc` verwenden, nur `containerPort` fest. Der `hostPort` wird immer ignoriert, und der Container-Port wird automatisch einem zufälligen Port mit hoher Nummer auf dem Host zugeordnet.  
Die meisten Felder dieses Parameters (inklusive `containerPort`, `hostPort`, `protocol`) werden im Docker-Befehl create-container der Option `PortBindings` zugeordnet, und die Option `--publish` wird dem Docker-Befehl run zugeordnet. Wenn der Netzwerkmodus einer Aufgabendefinition auf `host` festgelegt ist, müssen die Host-Ports entweder undefiniert sein oder mit dem Container-Port in der Port-Zuweisung übereinstimmen.  
Nachdem eine Aufgabe den Status `RUNNING` erreicht hat, sind manuelle und automatische Host- und Container-Port-Zuordnungen an den folgenden Orten sichtbar:  
+ Konsole: Abschnitt **Network Bindings** (Netzwerk-Bindungen) einer Container-Beschreibung für eine bestimmte Aufgabe.
+ AWS CLI: Der Abschnitt `networkBindings` der Befehlsausgabe **describe-tasks**.
+ API: `DescribeTasks`-Antwort.
+ Metadaten: Der Endpunkt der Aufgabenmetadaten.  
`appProtocol`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Das Anwendungsprotokoll, das für die Portzuordnung verwendet wird. Dieser Parameter gilt nur für Service Connect. Wir empfehlen Ihnen, diesen Parameter so festzulegen, dass er mit dem von Ihrer Anwendung verwendeten Protokoll konsistent ist. Wenn Sie diesen Parameter festlegen, fügt Amazon ECS dem Service-Connect-Proxy eine protokollspezifische Verbindungsbehandlung hinzu. Wenn Sie diesen Parameter festlegen, fügt Amazon ECS protokollspezifische Telemetrie in der Amazon ECS-Konsole und hinzu. CloudWatch  
Wenn Sie keinen Wert für diesen Parameter festlegen, wird TCP verwendet. Amazon ECS fügt jedoch keine protokollspezifische Telemetrie für TCP hinzu.  
Weitere Informationen finden Sie unter [Verwenden von Service Connect, um Amazon-ECS-Services mit Kurznamen zu verbinden](service-connect.md).  
Gültige Protokollwerte: `"HTTP" | "HTTP2" | "GRPC" `  
`containerPort`  
Typ: Ganzzahl  
Erforderlich: Ja, wenn `portMappings` verwendet werden  
Die Port-Nummer auf dem Container, der an den vom Benutzer angegebenen oder automatisch zugewiesenen Host-Port gebunden ist.  
Bei Aufgaben, die den `awsvpc`-Netzwerkmodus verwenden, geben Sie die verfügbaren Ports mit `containerPort` an.  
`containerPortRange`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Der Portnummernbereich des Containers, der an den dynamisch zugeordneten Host-Portbereich gebunden ist.   
Sie können diesen Parameter nur mithilfe der `register-task-definition`-API festlegen. Die Option ist im `portMappings`-Parameter verfügbar. Weitere Informationen finden Sie unter [register-task-definition](https://docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html) in der *AWS Command Line Interface -Referenz*.  
Die folgenden Regeln gelten, wenn Sie ein `containerPortRange` angeben :  
+ Sie müssen den `awsvpc`-Netzwerkmodus verwenden.
+ Die Container-Instance muss mindestens über Version 1.67.0 des Container-Agenten und mindestens über Version 1.67.0-1 des `ecs-init`-Pakets verfügen.
+ Sie können bis zu 100 Portbereiche für jeden Container angeben.
+ Sie geben keine `hostPortRange` an. Der Wert von `hostPortRange` ist wie folgt festgelegt:
  + Für Container in einer Aufgabe mit dem `awsvpc`-Netzwerkmodus wird `hostPort` auf denselben Wert wie `containerPort` festgelegt. Dies ist eine statische Zuordnungsstrategie.
+ Gültige Werte für `containerPortRange` liegen zwischen 1 and 65 535.
+ Ein Port kann nur in einer Portzuordnung für jeden Container enthalten sein.
+ Sie können keine überlappenden Portbereiche angeben.
+ Die erste Port im Bereich muss kleiner als der letzte Port im Bereich sein.
+ Docker empfiehlt, den Docker-Proxy in der Konfigurationsdatei des Docker-Daemons zu deaktivieren, wenn Sie eine große Anzahl von Ports haben.

  [Weitere Informationen finden Sie in Ausgabe \$111185 unter.](https://github.com/moby/moby/issues/11185) GitHub

  Informationen zum Deaktivieren des Docker-Proxy in der Docker-Daemon-Konfigurationsdatei finden Sie unter [Docker-Daemon](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon) im *Amazon-ECS-Entwicklerhandbuch*.
Sie können [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) aufrufen, um die `hostPortRange` anzuzeigen, bei denen es sich um die Host-Ports handelt, die an die Container-Ports gebunden sind.  
Die Portbereiche sind nicht in den Amazon ECS-Aufgabenereignissen enthalten, die an gesendet werden EventBridge. Weitere Informationen finden Sie unter [Automatisieren Sie Antworten auf Amazon ECS-Fehler mit EventBridge](cloudwatch_event_stream.md).  
`hostPortRange`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Der Portnummernbereich auf dem Host, der mit der Netzwerkbindung verwendet wird. Dieser wird von Docker zugewiesen und vom Amazon-ECS-Agenten bereitgestellt.  
`hostPort`  
Typ: Ganzzahl  
Erforderlich: Nein  
Die Port-Nummer auf der Container-Instance, die für Ihren Container reserviert werden soll.  
Der `hostPort` kann leer bleiben oder den gleichen Wert wie der `containerPort` haben.  
Der standardmäßige flüchtige Port-Bereich für Docker-Version 1.6.0 und später wird in der Instance unter `/proc/sys/net/ipv4/ip_local_port_range` aufgelistet. Wenn dieser Kernel-Parameter nicht verfügbar ist, wird der standardmäßige flüchtige Port-Bereich von `49153–65535` verwendet. Versuchen Sie nicht, einen Host-Port im flüchtigen Portbereich anzugeben. Das liegt daran, dass diese für die automatische Zuweisung reserviert sind. Im Allgemeinen zählen Ports unter `32768` nicht zum flüchtigen Port-Bereich.   
Die standardmäßigen reservierten Ports sind `22` für SSH, die Docker-Ports, `2375` und `2376` und der Amazon-ECS-Container-Agenten-Port `51678-51680`. Jeder Host-Port, der zuvor vom Benutzer für eine laufende Aufgabe festgelegt wurde, ist auch während der Ausführung der Aufgabe reserviert. Nach dem Beenden einer Aufgabe wird der Host-Port freigegeben. Die aktuell reservierten Ports werden in der `remainingResources` der **describe-container-instances**-Ausgabe angezeigt. Eine Container-Instance kann bis zu 100 reservierte Ports gleichzeitig haben, einschließlich der standardmäßig reservierten Ports. Automatisch zugewiesene Ports werden nicht auf das Kontingent von 100 reservierten Ports angerechnet.  
`name`  
Typ: Zeichenfolge  
Erforderlich: Nein, erforderlich für die Konfiguration von Service Connect und VPC Lattice in einem Service  
Der Name, der für die Portzuordnung verwendet wird. Dieser Parameter gilt nur für Service Connect und VPC Lattice. Dieser Parameter ist der Name, den Sie in der Service-Connect- und VPC-Lattice-Konfiguration eines Services verwenden.  
Weitere Informationen finden Sie unter [Verwenden von Service Connect, um Amazon-ECS-Services mit Kurznamen zu verbinden](service-connect.md).  
Im folgenden Beispiel werden beide erforderlichen Felder für Service Connect und VPC Lattice verwendet.  

```
"portMappings": [
    {
        "name": string,
        "containerPort": integer
    }
]
```  
`protocol`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Das für die Port-Zuweisung verwendete Protokoll. Gültige Werte sind `tcp` und `udp`. Der Standardwert ist `tcp`.  
Nur `tcp` wird für Service Connect unterstützt. Denken Sie daran, dass `tcp` impliziert ist, wenn dieses Feld nicht festgelegt ist. 
Verwenden Sie die folgende Syntax, um einen Host-Port anzugeben.  

```
"portMappings": [
    {
        "containerPort": integer,
        "hostPort": integer
    }
    ...
]
```
Verwenden Sie die folgende Syntax, um einen Host-Port automatisch zuzuweisen.  

```
"portMappings": [
    {
        "containerPort": integer
    }
    ...
]
```

### Private-Repository-Daten
<a name="container_definition_repositoryCredentials-managed-instances"></a>

`repositoryCredentials`  
Typ: [RepositoryCredentials](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RepositoryCredentials.html) Objekt  
Erforderlich: Nein  
Die Repository-Anmeldeinformationen für die Authentifizierung bei privaten Registrierungen.  
Weitere Informationen finden Sie unter [Verwenden von AWS Nicht-Container-Images in Amazon ECS](private-auth.md).    
 `credentialsParameter`  
Typ: Zeichenfolge  
Erforderlich: Ja, wenn `repositoryCredentials` verwendet werden  
Der Amazon-Ressourcenname (ARN) des Secrets mit den Anmeldeinformationen für das private Repository.  
Weitere Informationen finden Sie unter [Verwenden von AWS Nicht-Container-Images in Amazon ECS](private-auth.md).  
Wenn Sie die Amazon ECS-API verwenden AWS CLI, oder AWS SDKs, falls der geheime Schlüssel in derselben Region wie die Aufgabe existiert, die Sie starten, können Sie entweder den vollständigen ARN oder den Namen des Geheimnisses verwenden. Wenn Sie den verwenden AWS-Managementkonsole, müssen Sie den vollständigen ARN des Geheimnisses angeben.
Im Folgenden finden Sie einen Ausschnitt einer Aufgabendefinition, welche die erforderlichen Parameter zeigt:  

```
"containerDefinitions": [
    {
        "image": "private-repo/private-image",
        "repositoryCredentials": {
            "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name"
        }
    }
]
```

### Essenziell
<a name="container_definition_essential-managed-instances"></a>

`essential`  
Typ: Boolesch  
Erforderlich: Nein  
Wenn der Parameter `essential` eines Containers als `true` gekennzeichnet ist und dieser Container ausfällt oder aus irgendeinem Grund beendet wird, werden auch alle anderen Container in der Aufgabe beendet. Wenn der `essential`-Parameter eines Containers als `false` gekennzeichnet ist, wirkt sich ein Ausfall dieses Containers nicht auf die anderen Container in der Aufgabe aus. Wenn dieser Parameter ausgelassen wird, wird davon ausgegangen, dass ein Container „essential“ (entscheidend) ist.  
Alle Aufgaben müssen über mindestens einen entscheidenden Container verfügen. Wenn eine Anwendung aus mehreren Containern besteht, gruppieren Sie die Container, die für einen gemeinsamen Zweck verwendet werden, in Komponenten und trennen Sie die verschiedenen Komponenten in mehrere Aufgabendefinitionen. Weitere Informationen finden Sie unter [Entwerfen Ihrer Anwendung für Amazon ECS](application_architecture.md).

### Einstiegspunkt
<a name="container_definition_entrypoint-managed-instances"></a>

`entryPoint`  
Typ: Zeichenfolgen-Array  
Erforderlich: Nein  
Der Eintrittspunkt, der an den Container übergeben wird. Dieser Parameter ist im Docker-Befehl create-container der Option `Entrypoint` und die Option `--entrypoint` ist der Docker-Ausführung zugeordnet.  

```
"entryPoint": ["string", ...]
```

### Befehl
<a name="container_definition_command-managed-instances"></a>

`command`  
Typ: Zeichenfolgen-Array  
Erforderlich: Nein  
Der Befehl, der an den Container übergeben wird. Dieser Parameter ist im Docker-Befehl create-container der Option `Cmd` und der `COMMAND`-Parameter ist der Docker-Ausführung zugeordnet. Wenn mehrere Argumente vorhanden sind, ist jedes Argument eine getrennte Zeichenfolge im Array.  

```
"command": ["string", ...]
```

### Arbeitsverzeichnis
<a name="container_definition_workingdirectory-managed-instances"></a>

`workingDirectory`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Das Arbeitsverzeichnis, in dem Befehle im Container ausgeführt werden sollen. Dieser Parameter ist im Docker-Befehl create-container der Option `WorkingDir` und die Option `--workdir` ist der Docker-Ausführung zugeordnet.

### Erweiterte Parameter für Containerdefinitionen
<a name="advanced_container_definition_params-managed-instances"></a>

Die folgenden erweiterten Parameter für Container-Definitionen bieten erweiterte Funktionen für den Docker-Befehl run, der verwendet wird, um Container auf Ihren Amazon-ECS-Container-Instances zu starten.

**Topics**
+ [Neustartrichtlinie](#container_definition_restart_policy-managed-instances)
+ [Gesundheitscheck](#container_definition_healthcheck-managed-instances)
+ [Umgebung](#container_definition_environment-managed-instances)
+ [Sicherheit](#container_definition_security-managed-instances)
+ [Netzwerkeinstellungen](#container_definition_network-managed-instances)
+ [Speicher und Protokollierung](#container_definition_storage-managed-instances)
+ [Ressourcenanforderungen](#container_definition_resourcerequirements-managed-instances)
+ [Container-Timeouts](#container_definition_timeout-managed-instances)
+ [Container-Abhängigkeit](#container_definition_dependency-managed-instances)
+ [Systemkontrollen](#container_definition_systemcontrols-managed-instances)
+ [Interactive](#container_definition_interactive-managed-instances)
+ [Pseudo-Terminal](#container_definition_pseudoterminal-managed-instances)

#### Neustartrichtlinie
<a name="container_definition_restart_policy-managed-instances"></a>

`restartPolicy`  
Die Container-Neustart-Richtlinie und die zugehörigen Konfigurationsparameter. Wenn Sie eine Neustart-Richtlinie für einen Container aktivieren, kann Amazon ECS den Container neu starten, ohne dass die Aufgabe ersetzt werden muss. Weitere Informationen finden Sie unter [Einzelne Container in Amazon-ECS-Aufgaben mit Richtlinien für den Container-Neustart neu starten](container-restart-policy.md).    
`enabled`  
Typ: Boolescher Wert  
Erforderlich: Ja  
Gibt an, ob eine Neustart-Richtlinie für den Container aktiviert ist.  
`ignoredExitCodes`  
Typ: Ganzzahl-Array  
Erforderlich: Nein  
Eine Liste von Exit-Codes, die Amazon ECS ignoriert und nicht versucht, neu zu starten. Sie können bis zu 50 Container-Exit-Codes angeben. Standardmäßig ignoriert Amazon ECS keine Exit-Codes.  
`restartAttemptPeriod`  
Typ: Ganzzahl  
Erforderlich: Nein  
Ein Zeitraum (in Sekunden), den der Container ausgeführt werden muss, bevor ein Neustart versucht werden kann. Ein Container kann nur einmal alle `restartAttemptPeriod` Sekunden neu gestartet werden. Wenn ein Container für diesen Zeitraum nicht ausgeführt werden kann und vorzeitig beendet wird, wird er nicht neu gestartet. Sie können eine Minimum-`restartAttemptPeriod` von 60 Sekunden und eine Maximum-`restartAttemptPeriod` von 1 800 Sekunden angeben. Standardmäßig muss ein Container 300 Sekunden lang ausgeführt werden, bevor er neu gestartet werden kann.

#### Gesundheitscheck
<a name="container_definition_healthcheck-managed-instances"></a>

`healthCheck`  
Der Befehl für die Container-Zustandsprüfung und die zugehörigen Konfigurationsparameter für den Container. Weitere Informationen finden Sie unter [Ermitteln des Zustands von Amazon-ECS-Aufgaben mithilfe von Container-Zustandsprüfungen](healthcheck.md).    
`command`  
Ein Zeichenfolgen-Array, das den Befehl darstellt, den der Container ausführt, um festzustellen, ob er fehlerfrei ist. Das Zeichenfolge-Array kann mit `CMD` beginnen, um die Befehlsargumente direkt auszuführen, oder mit `CMD-SHELL`, um den Befehl mit der Standard-Shell des Containers auszuführen. Ist nichts davon angegeben, wird `CMD` verwendet.  
Verwenden Sie beim Registrieren einer Aufgabendefinition in eine durch Kommas getrennte Liste von Befehlen. AWS-Managementkonsole Diese Befehle werden in eine Zeichenfolge konvertiert, nachdem die Aufgabendefinition erstellt wurde. Im Folgenden finden Sie eine Beispieleingabe für eine Zustandsprüfung.  

```
CMD-SHELL, curl -f http://localhost/ || exit 1
```
Wenn Sie eine Aufgabendefinition mithilfe des AWS-Managementkonsole JSON-Bedienfelds registrieren APIs, schließen Sie die Befehlsliste mit dem oder dem in Klammern ein. AWS CLI Im Folgenden finden Sie eine Beispieleingabe für eine Zustandsprüfung.  

```
[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]
```
Ein Beendigungscode von 0 ohne `stderr`-Ausgabe zeigt einen Erfolg an, und der Beendigungscode ungleich Null zeigt einen Fehler an.   
`interval`  
Der Zeitraum (in Sekunden) zwischen den Zustandsprüfungen. Sie können zwischen 5 und 300 Sekunden angeben. Der Standardwert ist 30 Sekunden.  
`timeout`  
Der Zeitraum (in Sekunden), der angibt, wie lange gewartet wird, bis eine Zustandsprüfung erfolgreich ist, bevor sie als fehlerhaft betrachtet wird. Sie können zwischen 2 und 60 Sekunden angeben. Der Standardwert ist 5 Sekunden.  
`retries`  
Die Anzahl, wie oft eine fehlgeschlagene Zustandsprüfung wiederholt wird, bevor der Container als fehlerhaft betrachtet wird. Sie können zwischen 1 und 10 Wiederholungen angeben. Der Standardwert ist drei Wiederholungsversuche.  
`startPeriod`  
Der optionale Übergangszeitraum, der angibt, wie lange der Container Zeit für einen Bootstrap hat, bevor fehlgeschlagene Zustandsprüfungen der maximalen Anzahl an Wiederholungen angerechnet werden. Sie können einen Wert zwischen 0 und 300 Sekunden angeben. Standardmäßig ist `startPeriod` deaktiviert.  
Wenn eine Zustandsprüfung innerhalb der `startPeriod` erfolgreich ist, wird die Container als fehlerfrei betrachtet und alle nachfolgenden Ausfälle werden bei der maximal zulässigen Anzahl von Wiederholungen berücksichtigt.

#### Umgebung
<a name="container_definition_environment-managed-instances"></a>

`cpu`  
Typ: Ganzzahl  
Erforderlich: Nein  
Die Anzahl der physischen `cpu`-Einheiten, die der Amazon-ECS-Container-Agent für den Container reserviert. Unter Linux ist dieser Parameter im Abschnitt [Container erstellen](https://docs.docker.com/reference/api/engine/version/v1.38/#operation/ContainerCreate) der Option `CpuShares` zugeordnet.  
Dieses Feld ist optional für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden. Die Gesamtmenge an CPU, die für alle Container innerhalb einer Aufgabe reserviert ist, muss niedriger sein als der `cpu`-Wert auf Aufgabenebene.  
Linux-Container teilen sich nicht zugewiesene CPU-Einheiten mit anderen Containern auf der Container-Instance im gleichen Verhältnis wie die ihnen zugewiesene Menge. Nehmen Sie zum Beispiel an, dass Sie eine Aufgabe für einen einzelnen Container auf einer Instance mit einem Kern und 512 CPU-Einheiten für diesen Container ausführen. Außerdem ist diese Aufgabe die einzige Aufgabe, die auf der Container-Instance läuft. In diesem Beispiel kann der Container jederzeit die gesamte Menge von 1 024 CPU-Einheiten nutzen. Angenommen, Sie haben jedoch auf dieser Container-Instance eine weitere Kopie der gleichen Aufgabe gestartet. Jede Aufgabe würde bei Bedarf eine garantierte Menge von mindestens 512 CPU-Einheiten erhalten. Ebenso kann jeder Container zu einer höheren CPU-Auslastung übergehen, wenn der andere Container die verbleibende CPU nicht nutzt. Wenn jedoch beide Aufgaben die ganze Zeit 100 % aktiv sind, stünden ihnen jeweils nur 512 CPU-Einheiten zur Verfügung.  
Auf Linux-Container-Instances verwendet der Docker-Daemon auf der Container-Instance den CPU-Wert, um das relative CPU-Anteilsverhältnis für die laufenden Container zu berechnen. Der kleinste gültige CPU-Freigabewert, den der Linux-Kernel zulässt, ist 2 und der maximale gültige CPU-Freigabewert, den der Linux-Kernel zulässt, ist 262 144. Der CPU-Parameter ist jedoch nicht erforderlich und Sie können CPU-Werte unter 2 und höher als 262 144 in Ihren Container-Definitionen verwenden. Bei CPU-Werten unter 2 (einschließlich 0) und höher als 262 144 variiert das Verhalten je nach Version Ihres Amazon-ECS-Container-Agenten:  
Weitere Beispiele finden Sie unter [So verwaltet Amazon ECS CPU- und Arbeitsspeicher-Ressourcen](https://aws.amazon.com/blogs/containers/how-amazon-ecs-manages-cpu-and-memory-resources/).

`gpu`  
Typ: [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html) Objekt  
Erforderlich: Nein  
Die Anzahl der physischen `GPUs`, die der Amazon-ECS-Container-Agent für den Container reserviert. Die Anzahl der für alle Container in einer Aufgabe GPUs reservierten Container darf die Anzahl der GPUs auf der Container-Instance verfügbaren Container nicht überschreiten, auf der die Aufgabe gestartet wird. Weitere Informationen finden Sie unter [Amazon-ECS-Aufgabendefinitionen für GPU-Workloads](ecs-gpu.md).

`Elastic Inference accelerator`  
Dieser Parameter wird nicht für Container unterstützt, die in Amazon ECS Managed Instances gehostet werden.
Typ: [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html) Objekt  
Erforderlich: Nein  
Für den `InferenceAccelerator`-Typ stimmt der `value` mit dem `deviceName` für einen `InferenceAccelerator` überein, der in einer Aufgabendefinition angegeben ist. Weitere Informationen finden Sie unter [Name des Elastic Inference Accelerators (veraltet)](task_definition_parameters.md#elastic-Inference-accelerator).

`essential`  
Typ: Boolesch  
Erforderlich: Nein  
Nehmen wir an, der `essential`-Parameter eines Containers ist als `true` gekennzeichnet und dieser Container schlägt fehl oder wird aus irgendeinem Grund beendet. Dann werden alle anderen Container beendet, die Teil der Aufgabe sind. Wenn der Parameter `essential` eines Containers als `false` gekennzeichnet ist, wirkt sich ein Ausfall dieses Containers nicht auf die anderen Container in der Aufgabe aus. Wenn dieser Parameter ausgelassen wird, wird davon ausgegangen, dass ein Container „essential“ (entscheidend) ist.  
Alle Aufgaben müssen über mindestens einen entscheidenden Container verfügen. Angenommen, Sie haben eine Anwendung, die aus mehreren Containern besteht. Dann gruppieren Sie Container, die für einen gemeinsamen Zweck verwendet werden, in Komponenten und teilen die verschiedenen Komponenten in mehrere Aufgabendefinitionen auf. Weitere Informationen finden Sie unter [Entwerfen Ihrer Anwendung für Amazon ECS](application_architecture.md).  

```
"essential": true|false
```

`entryPoint`  
Von frühen Versionen des Amazon-ECS-Container-Agenten werden die `entryPoint`-Parameter nicht korrekt verarbeitet. Wenn Sie Probleme bei der Verwendung von `entryPoint` haben, aktualisieren Sie Ihren Container-Agenten oder geben Sie Ihre Befehle und Argumente stattdessen als `command`-Array-Objekte an.
Typ: Zeichenfolgen-Array  
Erforderlich: Nein  
Der Eintrittspunkt, der an den Container übergeben wird.   

```
"entryPoint": ["string", ...]
```

`command`  
Typ: Zeichenfolgen-Array  
Erforderlich: Nein  
Der Befehl, der an den Container übergeben wird. Dieser Parameter ist im Befehl create-container der Option `Cmd` und der `COMMAND`-Parameter ist der Docker-Ausführung zugeordnet. Wenn mehrere Argumente vorhanden sind, stellen Sie sicher, dass jedes Argument eine getrennte Zeichenfolge im Array ist.  

```
"command": ["string", ...]
```

`workingDirectory`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Das Arbeitsverzeichnis, in dem Befehle im Container ausgeführt werden sollen. Dieser Parameter ordnet zu `WorkingDir` im Bereich [Erstellen eines Containers](https://docs.docker.com/reference/api/engine/version/v1.38/#operation/ContainerCreate) der [Docker Remote API](https://docs.docker.com/reference/api/engine/version/v1.38/) und der Option `--workdir` für die [https://docs.docker.com/reference/cli/docker/container/run/](https://docs.docker.com/reference/cli/docker/container/run/) zu.  

```
"workingDirectory": "string"
```

`environmentFiles`  
Typ: Objekt-Array  
Erforderlich: Nein  
Eine Liste von Dateien, die die Umgebungsvariablen enthalten, die an einen Container übergeben werden sollen. Dieser Parameter ist im Docker-Befehl run der Option `--env-file` zugeordnet.  
Sie können bis zu 10 Umgebungsdateien angeben. Die Datei muss eine `.env` Dateierweiterung haben. Jede Zeile in einer Umgebungsdatei enthält eine Umgebungsvariable im Format `VARIABLE=VALUE`. Zeilen, die mit `#` beginnen, werden als Kommentare behandelt und ignoriert.   
Wenn in der Containerdefinition einzelne Umgebungsvariablen angegeben sind, haben sie Vorrang vor den Variablen, die in einer Umgebungsdatei enthalten sind. Wenn mehrere Umgebungsdateien angegeben werden, die dieselbe Variable enthalten, werden sie von oben nach unten verarbeitet. Es wird empfohlen, eindeutige Variablennamen zu verwenden. Weitere Informationen finden Sie unter [Eine einzelne Umgebungsvariable an einen Amazon-ECS-Container übergeben](taskdef-envfiles.md).    
`value`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Der Amazon-Ressourcenname (ARN) des Amazon S3-Objekts, das die Umgebungsvariablendatei enthält.  
`type`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Dateityp, der verwendet werden muss. Der einzige unterstützte Wert ist `s3`.

`environment`  
Typ: Objekt-Array  
Erforderlich: Nein  
Die Umgebungsvariablen, die an einen Container übergeben werden. Dieser Parameter ist im Docker-Befehl create-container der Option `Env` und die Option `--env` ist der Docker-Ausführung zugeordnet.  
Die Verwendung von Klartext-Umgebungsvariablen für sensitive Informationen (wie etwa Zugangsdaten) wird nicht empfohlen.  
`name`  
Typ: Zeichenfolge  
Erforderlich: ja, wenn `environment` verwendet wird  
Der Name der Umgebungsvariable.  
`value`  
Typ: Zeichenfolge  
Erforderlich: ja, wenn `environment` verwendet wird  
Der Wert der Umgebungsvariable.

```
"environment" : [
    { "name" : "string", "value" : "string" },
    { "name" : "string", "value" : "string" }
]
```

`secrets`  
Typ: Objekt-Array  
Erforderlich: Nein  
Ein Objekt, durch das das Secret dargestellt wird, das dem Container zur Verfügung gestellt werden soll. Weitere Informationen finden Sie unter [Sensible Daten an einen Amazon-ECS-Container übergeben](specifying-sensitive-data.md).    
`name`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Der Wert, der als Umgebungsvariable auf dem Container eingestellt werden soll.  
`valueFrom`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Das Geheimnis, das dem Container exponiert werden muss. Die unterstützten Werte sind entweder der vollständige Amazon Resource Name (ARN) des AWS Secrets Manager Secrets oder der vollständige ARN des Parameters im AWS Systems Manager Parameter Store.  
Wenn der Systems Manager Parameter Store-Parameter oder der Secrets Manager Manager-Parameter in derselben AWS-Region Datei wie die Aufgabe, die Sie starten, vorhanden ist, können Sie entweder den vollständigen ARN oder den Namen des Secrets verwenden. Wenn der Parameter in einer anderen Region existiert, muss der volle ARN angegeben werden.

```
"secrets": [
    {
        "name": "environment_variable_name",
        "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name"
    }
]
```

#### Sicherheit
<a name="container_definition_security-managed-instances"></a>

`privileged`  
Typ: Boolesch  
Erforderlich: Nein  
Wenn dieser Parameter `true` ist, erhält der Container erhöhte Berechtigungen auf der Host-Container-Instance (ähnlich wie der `root`-Benutzer). Dieser Parameter ist im Docker-Befehl create-container der Option `Privileged` und die Option `--privileged` ist der Docker-Ausführung zugeordnet.

`user`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Der Benutzer, der im Container verwendet werden soll. Dieser Parameter ist im Docker-Befehl create-container der Option `User` und die Option `--user` ist der Docker-Ausführung zugeordnet.  
Wenn Sie Aufgaben im `host`-Netzwerkmodus ausführen, sollten Sie Container nicht über den Root-Benutzer (UID 0) ausführen. Wir empfehlen für verbesserte Sicherheit einen Benutzer zu verwenden, der nicht Root-Benutzer ist.
Sie können den `user` mit den folgenden Formaten angeben. Wenn Sie eine User Identifier (UID, Benutzerbezeichner) und Group Identifier (GID, Gruppenbezeichner) angeben, müssen Sie sie als positive Ganzzahl angeben.  
+ `user`
+ `user:group`
+ `uid`
+ `uid:gid`
+ `user:gid`
+ `uid:group`

`readonlyRootFilesystem`  
Typ: Boolesch  
Erforderlich: Nein  
Wenn dieser Parameter `true` ist, erhält der Container ein schreibgeschütztes Root-Dateisystem. Dieser Parameter ist im Docker-Befehl create-container der Option `ReadonlyRootfs` und die Option `--read-only` ist der Docker-Ausführung zugeordnet.

`dockerSecurityOptions`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: Zeichenfolgen-Array  
Erforderlich: Nein  
Eine Liste von Zeichenketten zur Bereitstellung benutzerdefinierter Bezeichnungen für Sicherheitssysteme SELinux und AppArmor mehrstufige Sicherheitssysteme. Dieses Feld ist für Container in Aufgaben, die Fargate verwenden, nicht gültig.

`ulimits`  
Typ: Array von [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html)-Objekten  
Erforderlich: Nein  
Eine Liste der `ulimits`, die im Container festgelegt werden sollen. Wenn in einer Aufgabendefinition ein ulimit-Wert angegeben ist, überschreibt er die von Docker festgelegten Standardwerte. Dieser Parameter ist im Docker-Befehl create-container der Option `Ulimits` und die Option `--ulimit` ist der Docker-Ausführung zugeordnet. Gültige Werte für die Benennung werden im [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html)-Datentyp angezeigt.  
Amazon-ECS-Aufgaben, die in Fargate gehosted werden, verwenden die Standardwerte für Ressourcenlimits, die vom Betriebssystem gesetzt wurden. Ausgenommen ist der Ressourcenlimit-Parameter `nofile`, den Fargate überschreibt. Das Ressourcenlimit `nofile` beschränkt die Anzahl der geöffneten Dateien, die ein Container verwenden kann. Standardmäßig ist das weiche `nofile`-Limit `1024` und das harte Limit `65535`.  
Dieser Parameter erfordert Version 1.18 der Docker Remote API oder höher auf Ihrer Container-Instance. Um die Docker Remote API-Version auf Ihrer Container-Instance zu überprüfen, melden Sie sich an Ihrer Container-Instance an und führen Sie den folgenden Befehl aus: `sudo docker version --format '{{.Server.APIVersion}}'`

`dockerLabels`  
Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge  
Erforderlich: Nein  
Eine key/value Karte mit Labels, die dem Container hinzugefügt werden sollen. Dieser Parameter ist im Docker-Befehl create-container der Option `Labels` und die Option `--label` ist der Docker-Ausführung zugeordnet.   
Dieser Parameter erfordert Version 1.18 der Docker Remote API oder höher auf Ihrer Container-Instance.  

```
"dockerLabels": {"string": "string"
      ...}
```

#### Netzwerkeinstellungen
<a name="container_definition_network-managed-instances"></a>

`disableNetworking`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: Boolesch  
Erforderlich: Nein  
Wenn dieser Parameter den Wert „true“ aufweist, ist die Netzwerkfunktion innerhalb des Containers deaktiviert.  
Der Standardwert ist `false`.  

```
"disableNetworking": true|false
```

`links`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: Zeichenfolgen-Array  
Erforderlich: Nein  
Über den Parameter `link` können Container miteinander kommunizieren, ohne dass Port-Zuweisungen nötig sind. Dieser Parameter wird nur unterstützt, wenn der Netzwerkmodus einer Aufgabendefinition auf `bridge` gesetzt ist. Das Konstrukt `name:internalName` ist analog zu `name:alias` in Docker-Verbindungen. Bis zu 255 Buchstaben (Groß- und Kleinbuchstaben), Ziffern, Bindestriche und Unterstriche sind zulässig.  
Container, die sich auf derselben Container-Instance befinden, können miteinander kommunizieren, ohne dass Verbindungen oder Host-Port-Zuweisungen erforderlich sind. Die Netzwerkisolierung auf einer Container-Instance wird durch Sicherheitsgruppen und VPC-Einstellungen gesteuert.

```
"links": ["name:internalName", ...]
```

`hostname`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: Zeichenfolge  
Erforderlich: Nein  
Der Hostname, der für Ihren Container verwendet werden soll. Dieser Parameter ist im Docker-Befehl create-container der Option `Hostname` und die Option `--hostname` ist der Docker-Ausführung zugeordnet.  

```
"hostname": "string"
```

`dnsServers`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: Zeichenfolgen-Array  
Erforderlich: Nein  
Eine List der DNS-Server, die dem Container bereitgestellt werden.  

```
"dnsServers": ["string", ...]
```

`extraHosts`  
Dieser Parameter wird für Aufgaben, die den `awsvpc`-Netzwerkmodus verwenden, nicht unterstützt.
Typ: Objekt-Array  
Erforderlich: Nein  
Eine Liste der Hostnamen und IP-Adresszuordnungen, die an die Datei `/etc/hosts` auf dem Container angefügt werden.   
Dieser Parameter ist im Docker-Befehl create-container der Option `ExtraHosts` und die Option `--add-host` ist der Docker-Ausführung zugeordnet.  

```
"extraHosts": [
      {
        "hostname": "string",
        "ipAddress": "string"
      }
      ...
    ]
```  
`hostname`  
Typ: Zeichenfolge  
Erforderlich: Ja, wenn `extraHosts` verwendet werden  
Der Hostname, der im Eintrag `/etc/hosts` verwendet werden soll.  
`ipAddress`  
Typ: Zeichenfolge  
Erforderlich: Ja, wenn `extraHosts` verwendet werden  
Die IP-Adresse, die im Eintrag `/etc/hosts` verwendet werden soll.

#### Speicher und Protokollierung
<a name="container_definition_storage-managed-instances"></a>

`readonlyRootFilesystem`  
Typ: Boolesch  
Erforderlich: Nein  
Wenn dieser Parameter den Wert „true“ aufweist, erhält der Container Lesezugriff auf das Root-Dateisystem. Dieser Parameter ist im Docker-Befehl create-container der Option `ReadonlyRootfs` und die Option `--read-only` ist der Docker-Ausführung zugeordnet.  
Der Standardwert ist `false`.  

```
"readonlyRootFilesystem": true|false
```

`mountPoints`  
Typ: Objekt-Array  
Erforderlich: Nein  
Die Mounting-Punkte für die Daten-Volumes in Ihrem Container. Dieser Parameter ist in der create-container-Docker-API der Option `Volumes` zugeordnet und die Option `--volume` ist der Docker-Ausführung zugeordnet.  
Windows-Container können ganze Verzeichnisse auf dem gleichen Laufwerk wie `$env:ProgramData` einbinden. Windows-Container können keine Verzeichnisse auf einem anderen Laufwerk mounten, und es ist kein laufwerksübergreifender Mounting-Punkt möglich. Sie müssen Mounting-Punkte angeben, um ein Amazon-EBS-Volume direkt an eine Amazon-ECS-Aufgabe anzuhängen.    
`sourceVolume`  
Typ: Zeichenfolge  
Erforderlich: Ja, wenn `mountPoints` verwendet werden  
Der Name des einzubindenden Volumes.  
`containerPath`  
Typ: Zeichenfolge  
Erforderlich: Ja, wenn `mountPoints` verwendet werden  
Der Pfad in dem Container, in dem das Volume eingebunden wird.  
`readOnly`  
Typ: Boolesch  
Erforderlich: Nein  
Wenn dieser Wert `true` lautet, verfügt der Container über schreibgeschützten Zugriff auf das Volume. Lautet der Wert `false`, dann verfügt der Container über Schreibzugriff auf das Volume. Der Standardwert ist `false`.  
Behalten Sie für Aufgaben, die auf EC2-Instances unter dem Windows-Betriebssystem ausgeführt werden, den Standardwert von `false` bei.

`volumesFrom`  
Typ: Objekt-Array  
Erforderlich: Nein  
Die Daten-Volumes, die von einem anderen Container gemountet werden sollen. Dieser Parameter ist im Docker-Befehl create-container der Option `VolumesFrom` und die Option `--volumes-from` ist der Docker-Ausführung zugeordnet.    
`sourceContainer`  
Typ: Zeichenfolge  
Erforderlich: ja, wenn `volumesFrom` verwendet wird  
Der Name des Containers, von dem die Volumes gemountet werden.  
`readOnly`  
Typ: Boolesch  
Erforderlich: Nein  
Wenn dieser Wert `true` lautet, verfügt der Container über schreibgeschützten Zugriff auf das Volume. Lautet der Wert `false`, dann verfügt der Container über Schreibzugriff auf das Volume. Der Standardwert ist `false`.

```
"volumesFrom": [
                {
                  "sourceContainer": "string",
                  "readOnly": true|false
                }
              ]
```

`logConfiguration`  
Typ: Objekt [LogConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html)  
Erforderlich: Nein  
Die Angabe der Protokollkonfiguration für den Container.  
Beispiele für Aufgabendefinitionen, die eine Protokollkonfiguration verwenden, finden Sie unter [Beispiele für Amazon-ECS-Aufgabendefinitionen](example_task_definitions.md).  
Dieser Parameter ist im Docker-Befehl create-container der Option `LogConfig` und die Option `--log-driver` ist der Docker-Ausführung zugeordnet. Standardmäßig verwenden Container den gleichen Protokolltreiber wie der Docker-Daemon. Allerdings kann der Container einen anderen Protokolltreiber als der Docker-Daemon verwenden, indem Sie einen Protokolltreiber mit diesem Parameter in der Container-Definition angeben. Um für einen Container einen anderen Protokolltreiber zu verwenden, muss das Protokollsystem auf der Container-Instance (oder einem anderen Protokollserver für die Remote-Protokollierung) ordnungsgemäß konfiguriert sein.   
Beachten Sie die folgenden Punkte, wenn eine Protokollkonfiguration für Ihre Container angegeben ist:  
+ Amazon ECS unterstützt einen Teil der Protokolltreiber, die für den Docker-Daemon verfügbar sind.
+ Für diesen Parameter muss Ihre Docker Remote API Version 1.18 oder höher in Ihrer Container-Instance verwenden.

```
"logConfiguration": {
      "logDriver": "awslogs",""splunk", "awsfirelens",
      "options": {"string": "string"
        ...},
	"secretOptions": [{
		"name": "string",
		"valueFrom": "string"
	}]
}
```  
`logDriver`  
Typ: Zeichenfolge  
Zulässige Werte: `"awslogs","splunk","awsfirelens"`  
Erforderlich: ja, wenn `logConfiguration` verwendet wird  
Der für den Container zu verwendende Protokolltreiber. Standardmäßig sind die zuvor aufgeführten gültigen Werte Protokolltreiber, mit denen der Amazon-ECS-Container-Agent kommunizieren kann.  
Die unterstützten Protokolltreiber sind `awslogs`, `splunk` und `awsfirelens`.  
Weitere Informationen zur Verwendung des `awslogs` Protokolltreibers in Aufgabendefinitionen zum Senden Ihrer Container-Logs an CloudWatch Logs finden Sie unter[Amazon ECS-Protokolle senden an CloudWatch](using_awslogs.md).  
Weitere Informationen finden zur Verwendung des `awsfirelens`-Protokolltreibers finden Sie unter [Amazon ECS-Protokolle an einen AWS Service senden oder AWS Partner](using_firelens.md).  
Wenn Sie einen benutzerdefinierten Treiber haben, der nicht aufgeführt ist, können Sie das Amazon ECS-Container-Agent-Projekt, das [verfügbar](https://github.com/aws/amazon-ecs-agent) ist, forken GitHub und es so anpassen, dass es mit diesem Treiber funktioniert. Wir möchten Sie bitten, uns eventuelle Änderungswünsche mitzuteilen. Allerdings unterstützen wir derzeit nicht die Ausführung modifizierter Kopien dieser Software.
Für diesen Parameter ist Version 1.18 der Docker Remote API oder höher auf Ihrer Container-Instance erforderlich.  
`options`  
Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge  
Erforderlich: Nein  
Die key/value Zuordnung der Konfigurationsoptionen, die an den Protokolltreiber gesendet werden sollen.  
Die Optionen, die Sie angeben können, hängen vom Protokolltreiber ab. Zu den Optionen, die Sie angeben können, wenn Sie den `awslogs` Router zum Weiterleiten von Protokollen an Amazon verwenden, CloudWatch gehören die folgenden:    
`awslogs-create-group`  
Erforderlich: Nein  
Geben Sie an, ob die Protokollgruppe automatisch erstellt werden soll. Wenn diese Option nicht angegeben ist, gilt standardmäßig `false`.  
Ihre IAM-Richtlinie muss die `logs:CreateLogGroup`-Berechtigung umfassen, bevor Sie `awslogs-create-group` zu nutzen versuchen.  
`awslogs-region`  
Erforderlich: Ja  
Geben Sie an AWS-Region , an `awslogs` wen der Protokolltreiber Ihre Docker-Protokolle senden soll. In Logs können Sie wählen, ob Sie alle Ihre Logs von Clustern in verschiedenen Regionen an eine einzige Region senden möchten. CloudWatch Dann sind alle an einem Standort sichtbar. Andernfalls können Sie sie nach Region aufteilen, um eine höhere Granularität zu erzielen. Vergewissern Sie sich, dass die angegebene Protokollgruppe in der Region vorhanden ist, die Sie mit dieser Option festlegen.  
`awslogs-group`  
Erforderlich: Ja  
Sie müssen eine Protokollgruppe angeben, an die der `awslogs`-Protokolltreiber seine Protokoll-Streams sendet.  
`awslogs-stream-prefix`  
Erforderlich: Ja  
Mit der `awslogs-stream-prefix`-Option können Sie einen Protokoll-Stream mit dem angegebenen Präfix, dem Containernamen und der ID der Amazon-ECS-Aufgabe verknüpfen, zu der der Container gehört. Wenn Sie einen Präfix mit dieser Option angeben, weist der Protokoll-Stream das folgende Format auf:  

```
prefix-name/container-name/ecs-task-id
```
Wenn Sie keinen Präfix mit dieser Option angeben, wird der Protokoll-Stream nach der Container-ID benannt, die vom Docker-Daemon auf der Container-Instance zugewiesen wurde. Da es schwierig ist, Protokolle nur mit der Docker-Container-ID (die nur auf der Container-Instance verfügbar ist) zum Container zurückzuverfolgen, der sie gesendet hat, empfehlen wir, dass Sie einen Präfix mit dieser Option festlegen.  
Für Amazon-ECS-Services können Sie den Servicenamen als Präfix verwenden. So können Sie Protokollstreams zu dem Service zurückverfolgen, zu dem der Container gehört, den Namen des Containers ermitteln, der sie gesendet hat, und die ID der Aufgabe, zu der der Container gehört.  
Sie müssen ein Stream-Präfix für Ihre Protokolle angeben, damit Ihre Protokolle im Protokollfeld der Amazon-ECS-Konsole angezeigt werden.  
`awslogs-datetime-format`  
Erforderlich: Nein  
Diese Option definiert einen mehrzeiliges Startmuster im `strftime`-Format von Python. Eine Protokollmeldung besteht aus einer Zeile, die mit dem angegebenen Muster übereinstimmt, und allen folgenden Zeilen, die nicht dem Muster entsprechen. Die zugeordnete Zeile ist das Trennzeichen zwischen Protokollnachrichten.  
Ein Beispiel für einen Anwendungsfall für die Nutzung dieses Formats ist die Ausgabenanalyse, z. B. einen Stack-Dump, der andernfalls möglicherweise mehrere Einträge protokolliert. Mit dem richtigen Muster kann es in nur einem Eintrag erfasst werden.  
Weitere Informationen finden Sie unter [awslogs-datetime-format](https://docs.docker.com/engine/logging/drivers/awslogs/#awslogs-datetime-format).  
Sie können nicht sowohl die Optionen `awslogs-datetime-format` und `awslogs-multiline-pattern` konfigurieren.  
Bei der mehrzeiligen Protokollierung wird eine regelmäßige Ausdrucksanalyse und die Übereinstimmung aller Protokollmeldungen ausgeführt. Dies kann negative Auswirkungen auf die Leistung der Protokollierung haben.  
`awslogs-multiline-pattern`  
Erforderlich: Nein  
Diese Option definiert ein mehrzeiliges Startmuster mit einem regulären Ausdruck. Eine Protokollmeldung besteht aus einer Zeile, die mit dem angegebenen Muster übereinstimmt, und allen folgenden Zeilen, die nicht dem Muster entsprechen. Die zugeordnete Zeile ist das Trennzeichen zwischen Protokollnachrichten.  
Weitere Informationen finden Sie unter [awslogs-multiline-pattern](https://docs.docker.com/engine/logging/drivers/awslogs/#awslogs-multiline-pattern).  
Diese Option wird ignoriert, wenn `awslogs-datetime-format` ebenfalls konfiguriert ist.  
Sie können nicht sowohl die Optionen `awslogs-datetime-format` und `awslogs-multiline-pattern` konfigurieren.  
Bei der mehrzeiligen Protokollierung wird eine regelmäßige Ausdrucksanalyse und die Übereinstimmung aller Protokollmeldungen ausgeführt. Dies kann negative Auswirkungen auf die Leistung der Protokollierung haben.  
`mode`  
Erforderlich: Nein  
Zulässige Werte: `non-blocking` \$1 `blocking`  
Diese Option definiert den Zustellungsmodus von Protokollnachrichten von dem Container an den `awslogs`-Protokolltreiber. Der von Ihnen gewählte Zustellungsmodus wirkt sich auf die Anwendungsverfügbarkeit aus, wenn der Protokollfluss vom Container unterbrochen wird.  
Wenn Sie diesen `blocking` Modus verwenden und der Fluss der Logs zu unterbrochen CloudWatch wird, werden Aufrufe vom Container-Code zum Schreiben in die `stdout` und `stderr` -Streams blockiert. Der Logging-Thread der Anwendung wird daraufhin blockiert. Dies kann dazu führen, dass die Anwendung nicht mehr reagiert und die Container-Zustandsprüfung fehlschlägt.   
Wenn Sie den `non-blocking`-Modus verwenden, werden die Protokolle des Containers stattdessen in einem mit der Option `max-buffer-size` konfigurierten Zwischenpuffer im Arbeitsspeicher gespeichert. Dadurch wird verhindert, dass die Anwendung nicht mehr reagiert, wenn keine Protokolle gesendet CloudWatch werden können. Wir empfehlen, diesen Modus zu verwenden, wenn Sie die Verfügbarkeit des Services sicherstellen möchten und einen gewissen Protokollverlust in Kauf nehmen möchten. Weitere Informationen finden Sie unter [Verhinderung von Protokollverlusten im blockierungsfreien Modus im `awslogs`-Container-Protokolltreiber](https://aws.amazon.com/blogs/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/).  
`max-buffer-size`  
Erforderlich: Nein  
Standardwert: `1m`  
Wenn der `non-blocking`-Modus verwendet wird, steuert die `max-buffer-size`-Protokolloption die Größe des Puffers, der für die Zwischenspeicherung von Nachrichten verwendet wird. Stellen Sie sicher, dass Sie eine für Ihre Anwendung angemessene Puffergröße angeben. Wenn der Puffer voll ist, können keine weiteren Protokolle gespeichert werden. Protokolle, die nicht gespeichert werden können, gehen verloren. 
Um Protokolle mithilfe des `splunk`-Protokollrouters weiterzuleiten, müssen Sie ein `splunk-token` und eine `splunk-url` angeben.  
Wenn Sie den `awsfirelens` Protokollrouter verwenden, um Protokolle zur Protokollspeicherung und Analyse an ein AWS-Service AWS Partner Network OD-Ziel weiterzuleiten, können Sie die `log-driver-buffer-limit` Option so einstellen, dass die Anzahl der Ereignisse begrenzt wird, die im Speicher zwischengespeichert werden, bevor sie an den Log-Router-Container gesendet werden. Es kann helfen, ein potenzielles Problem mit dem Verlust von Protokollen zu beheben, da ein hoher Durchsatz dazu führen könnte, dass der Speicher für Puffer innerhalb von Docker ausgeht. Weitere Informationen finden Sie unter [Konfiguration von Amazon-ECS-Protokollen für hohen Durchsatz](firelens-docker-buffer-limit.md).  
Andere Optionen, die Sie beim Weiterleiten von Protokollen mithilfe von `awsfirelens` angeben können, hängen vom Ziel ab. Wenn Sie Protokolle nach Amazon Data Firehose exportieren, können Sie das AWS-Region mit `region` und einen Namen für den Protokollstream mit `delivery_stream` angeben.  
Wenn Sie Protokolle nach Amazon Kinesis Data Streams exportieren, können Sie eine AWS-Region mit `region` und einen Datenstrom-Namen mit `stream` angeben.  
 Wenn Sie Protokolle nach Amazon OpenSearch Service exportieren, können Sie Optionen wie `Name` `Host` (OpenSearch Service-Endpunkt ohne Protokoll),`Port`,`Index`,`Type`,`Aws_auth`, `Aws_region``Suppress_Type_Name`, und angeben`tls`.  
Wenn Sie Protokolle nach Amazon S3 exportieren, können Sie den Bucket mit der `bucket`-Option angeben. Sie können auch `region`, `total_file_size`, `upload_timeout` und `use_put_object` als Optionen angeben.  
Für diesen Parameter muss Ihre Docker Remote API Version 1.19 oder höher in Ihrer Container-Instance verwenden.  
`secretOptions`  
Typ: Objekt-Array  
Erforderlich: Nein  
Ein Objekt, welches das Secret darstellt, der an die Protokollkonfiguration übergeben werden soll. Zu den Secrets, die in der Protokollkonfiguration verwendet werden, können ein Authentifizierungs-Token, ein Zertifikat oder ein Verschlüsselungsschlüssel gehören. Weitere Informationen finden Sie unter [Sensible Daten an einen Amazon-ECS-Container übergeben](specifying-sensitive-data.md).    
`name`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Der Wert, der als Umgebungsvariable auf dem Container eingestellt werden soll.  
`valueFrom`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Das Geheimnis zur Bereitstellung der Protokollkonfiguration des Containers.

```
"logConfiguration": {
	"logDriver": "splunk",
	"options": {
		"splunk-url": "https://cloud.splunk.com:8080",
		"splunk-token": "...",
		"tag": "...",
		...
	},
	"secretOptions": [{
		"name": "splunk-token",
		"valueFrom": "/ecs/logconfig/splunkcred"
	}]
}
```

`firelensConfiguration`  
Typ: [FirelensConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FirelensConfiguration.html)Objekt  
Erforderlich: Nein  
Die FireLens Konfiguration für den Container. Dies wird verwendet, um einen Protokollrouter für Container-Protokolle anzugeben und zu konfigurieren. Weitere Informationen finden Sie unter [Amazon ECS-Protokolle an einen AWS Service senden oder AWS Partner](using_firelens.md).  

```
{
    "firelensConfiguration": {
        "type": "fluentd",
        "options": {
            "KeyName": ""
        }
    }
}
```  
`options`  
Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge  
Erforderlich: Nein  
Die key/value Übersicht der Optionen, die bei der Konfiguration des Log-Routers verwendet werden sollen. Dieses Feld ist optional und kann verwendet werden, um eine benutzerdefinierte Konfigurationsdatei anzugeben oder dem Protokollereignis zusätzliche Metadaten hinzuzufügen, z. B. Aufgaben-, Aufgabendefinitions-, Cluster- und Container-Instance-Details. Wenn angegeben, ist die zu verwendende Syntax `"options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::amzn-s3-demo-bucket/fluent.conf|filepath"}`. Weitere Informationen finden Sie unter [Beispiel einer Amazon-ECS-Aufgabendefinition: Protokolle an FireLens weiterleiten](firelens-taskdef.md).  
`type`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Der zu verwendende Protokollrouter. Die gültigen Werte sind `fluentd` und `fluentbit`.

#### Ressourcenanforderungen
<a name="container_definition_resourcerequirements-managed-instances"></a>

`resourceRequirements`  
Typ: Array von [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html)-Objekten  
Erforderlich: Nein  
Die Art und Menge einer Ressource, die einem Container zugewiesen werden soll. Die einzige unterstützte Ressource ist eine GPU.    
`type`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Die Art einer Ressource, die einem Container zugewiesen werden soll. Der unterstützte Wert ist `GPU`.  
`value`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Der Wert für den angegebenen Ressourcentyp.  
Wenn der `GPU`-Typ verwendet wird, ist der Wert die Anzahl der physischen `GPUs`, die der Amazon-ECS-Container-Agent für den Container reserviert. Die Anzahl der Container GPUs , die für alle Container in einer Aufgabe reserviert sind, darf die Anzahl der verfügbaren Container auf der Container-Instance, GPUs auf der die Aufgabe gestartet wird, nicht überschreiten.  
GPUs sind nicht für Aufgaben verfügbar, die auf Fargate ausgeführt werden.

#### Container-Timeouts
<a name="container_definition_timeout-managed-instances"></a>

`startTimeout`  
Typ: Ganzzahl  
Erforderlich: Nein  
Beispielwerte: `120`  
Zeitdauer (in Sekunden), die gewartet wird, bevor die Auflösung von Abhängigkeiten für einen Container aufgegeben wird.  
Angenommen, Sie geben zwei Container in einer Aufgabendefinition an und `containerA` ist abhängig davon, dass `containerB` den Status `COMPLETE`, `SUCCESS` oder `HEALTHY` erreicht. Wenn ein `startTimeout`-Wert für `containerB` angegeben ist und es den gewünschten Status nicht innerhalb dieses Zeitraums erreicht, wird `containerA` nicht gestartet.  
Wenn ein Container keine Abhängigkeitsbeschränkung erfüllt oder ein Timeout vor dem Erfüllen der Einschränkung erfüllt, führt Amazon ECS abhängige Container nicht in den nächsten Zustand.
Der Höchstwert beträgt 600 Sekunden (10 Minuten).

`stopTimeout`  
Typ: Ganzzahl  
Erforderlich: Nein  
Beispielwerte: `120`  
Dauer (in Sekunden), die gewartet werden soll, bevor der Container zwangsweise beendet wird, wenn er nicht normal beendet wird.  
Wenn der Parameter nicht angegeben wird, wird der Standardwert 30 Sekunden verwendet. Der Höchstwert beträgt 86 400 Sekunden (24 Stunden).

#### Container-Abhängigkeit
<a name="container_definition_dependency-managed-instances"></a>

`dependsOn`  
Typ: Array von [ContainerDependency](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDependency.html)-Objekten  
Erforderlich: Nein  
Die für das Startup und Herunterfahren des Containers definierten Abhängigkeiten. Ein Container kann mehrere Abhängigkeiten enthalten. Wenn eine Abhängigkeit für das Startup und das Herunterfahren des Containers definiert ist, ist sie reserviert. Ein Beispiel finden Sie unter [Container-Abhängigkeit](example_task_definitions.md#example_task_definition-containerdependency).  
Wenn ein Container keine Abhängigkeitsbeschränkung erfüllt oder ein Timeout vor dem Erfüllen der Einschränkung erfüllt, führt Amazon ECS abhängige Container nicht in den nächsten Zustand.
Dieser Parameter erfordert, dass die Aufgabe oder der Service die Plattformversion `1.3.0` oder höher verwendet (Linux) oder `1.0.0` (Windows).  

```
"dependsOn": [
    {
        "containerName": "string",
        "condition": "string"
    }
]
```  
`containerName`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Der Container-Name, der die angegebene Bedingung erfüllen muss.  
`condition`  
Typ: Zeichenfolge  
Erforderlich: Ja  
Die Abhängigkeitsbedingung des Containers. Der folgenden Tabelle sind die verfügbaren Bedingungen und deren Verhalten zu entnehmen:  
+ `START` – Diese Bedingung emuliert das heutige Verhalten von Links und Volumes. Die Bedingung überprüft, ob ein abhängiger Container gestartet wurde, bevor das Starten anderer Container zugelassen wird.
+ `COMPLETE` – Diese Bedingung überprüft, ob ein abhängiger Container vollständig ausgeführt (beendet) wurde, bevor das Starten anderer Container zugelassen wird. Dies kann für nicht benötigte Container hilfreich sein, die ein Skript ausführen und dann beendet werden. Diese Bedingung kann nicht für einen essentiellen Container festgelegt werden.
+ `SUCCESS` – Diese Bedingung ist mit `COMPLETE` identisch, erfordert aber auch, dass der Container mit dem Status `zero` beendet wird. Diese Bedingung kann nicht für einen essenziellen Container festgelegt werden.
+ `HEALTHY` – Diese Bedingung überprüft, ob der abhängige Container seine Zustandsprüfung bestanden hat, bevor das Starten anderer Container zugelassen wird. Dies setzt voraus, das für den abhängigen Container Zustandsprüfungen in der Aufgabendefinition konfiguriert wurden. Diese Bedingung wird nur beim Startup der Aufgabe bestätigt.

#### Systemkontrollen
<a name="container_definition_systemcontrols-managed-instances"></a>

`systemControls`  
Typ: [SystemControl](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_SystemControl.html) Objekt  
Erforderlich: Nein  
Eine Liste der Namespace-Kernel-Parameter, die im Container festgelegt werden Dieser Parameter ist im Docker-Befehl create-container der Option `Sysctls` und die Option `--sysctl` ist der Docker-Ausführung zugeordnet. Beispielsweise können Sie die `net.ipv4.tcp_keepalive_time`-Einstellung konfigurieren, um Verbindungen mit einer längeren Lebensdauer aufrechtzuerhalten.  
Wir empfehlen nicht, netzwerkbezogene `systemControls`-Parameter für mehrere Container in einer einzelnen Aufgabe festzulegen, die auch entweder den `awsvpc`- oder `host`-Netzwerkmodus verwendet. Dies hat die folgenden Nachteile:  
+ Wenn Sie `systemControls` für einen beliebigen Container festlegen, werden diese auf alle Container in der Aufgabe angewendet. Wenn Sie unterschiedliche `systemControls` für mehrere Container innerhalb einer einzelnen Aufgabe festlegen, werden die `systemControls` des zuletzt gestarteten Containers für alle Container übernommen.
Wenn Sie einen IPC-Ressourcen-Namespace für die Container in der Aufgabe einrichten, gelten folgende Bedingungen für Ihre Systemsteuerungen. Weitere Informationen finden Sie unter [IPC-Modus](task_definition_parameters.md#task_definition_ipcmode).  
+ Für Aufgaben, die den IPC-Modus `host` verwenden, wird der IPC-Namespace `systemControls` nicht unterstützt.
+ Für Aufgaben, die den IPC-Modus `task` verwenden, gelten die Werte des IPC-Namespace `systemControls` für alle Container innerhalb einer Aufgabe.

```
"systemControls": [
    {
         "namespace":"string",
         "value":"string"
    }
]
```  
`namespace`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Der Namespace-Kernel-Parameter, für den ein `value` festgelegt wird.  
Gültige IPC-Namespace-Werte: `"kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced"` und `Sysctls`, die mit `"fs.mqueue.*"` beginnen  
Gültige Netzwerk-Namespace-Werte: `Sysctls` beginnend mit `"net.*"` In Fargate werden nur `Sysctls` mit Namespace akzeptiert, die innerhalb des Containers existieren.  
Alle diese Werte werden von Fargate unterstützt.  
`value`  
Typ: Zeichenfolge  
Erforderlich: Nein  
Der Wert für den Namespace-Kernel-Parameter, der in `namespace` angegeben ist.

#### Interactive
<a name="container_definition_interactive-managed-instances"></a>

`interactive`  
Typ: Boolesch  
Erforderlich: Nein  
Wenn dieser Parameter `true` ist, können Sie Container-Anwendungen bereitstellen, für die `stdin` oder `tty` zugeordnet werden muss. Dieser Parameter ist im Docker-Befehl create-container der Option `OpenStdin` und die Option `--interactive` ist der Docker-Ausführung zugeordnet.  
Der Standardwert ist `false`.

#### Pseudo-Terminal
<a name="container_definition_pseudoterminal-managed-instances"></a>

`pseudoTerminal`  
Typ: Boolesch  
Erforderlich: Nein  
Wenn dieser Parameter `true` lautet, wird ein TTY zugeordnet. Dieser Parameter ist im Docker-Befehl create-container der Option `Tty` und die Option `--tty` ist der Docker-Ausführung zugeordnet.  
Der Standardwert ist `false`.

### Linux-Parameter
<a name="container_definition_linuxparameters-managed-instances"></a>

`linuxParameters`  
Typ: [LinuxParameters](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LinuxParameters.html) Objekt  
Erforderlich: Nein  
Linux-spezifische Änderungen, die auf den Container angewendet werden, wie z. B. Linux-Kernel-Funktionen.    
`capabilities`  
Typ: [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html) Objekt  
Erforderlich: Nein  
Die Linux-Funktionen für den Container, die zur von Docker bereitgestellten Standardkonfiguration hinzugefügt oder daraus entfernt werden.  
`devices`  
Typ: Array von [Device](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Device.html)-Objekten  
Erforderlich: Nein  
Alle Host-Geräte, die dem Container zur Verfügung gestellt werden sollen. Dieser Parameter ist im Docker-Befehl create-container der Option `Devices` und die Option `--device` ist der Docker-Ausführung zugeordnet.  
`initProcessEnabled`  
Typ: Boolesch  
Erforderlich: Nein  
Führen Sie einen `init`-Prozess innerhalb des Containers aus, der Signalen weiterleitet und Prozesse aufnimmt. Dieser Parameter ist der Option `--init` für die Docker-Ausführung zugeordnet.  
`maxSwap`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: Ganzzahl  
Erforderlich: Nein  
Die Gesamtmenge des Auslagerungsspeichers (in MiB), den ein Container verwenden kann. Dieser Parameter ist in die Option `--memory-swap` zur Docker-Ausführung übersetzt, wobei der Wert die Summe aus dem Container-Speicher und dem Wert `maxSwap` ist.  
`swappiness`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: Ganzzahl  
Erforderlich: Nein  
Auf diese Weise können Sie das Speicherauslagerungsverhalten eines Containers optimieren. Ein `swappiness`-Wert von `0` führt dazu, dass ein Auslagern nicht erfolgt, wenn dies nicht unbedingt erforderlich ist. Ein `swappiness`-Wert von `100` führt dazu, dass Seiten sehr aggressiv ausgelagert werden. Gültige Werte sind Ganzzahlen zwischen `0` und `100`. Wenn der Parameter `swappiness` nicht angegeben wird, wird der Standardwert `60` verwendet. Wenn kein Wert für `maxSwap` angegeben ist, wird dieser Parameter ignoriert. Dieser Parameter ist der Option `--memory-swappiness` für die Docker-Ausführung zugeordnet.  
`sharedMemorySize`  
Dieser Parameter wird für Aufgaben, die in Amazon ECS Managed Instances ausgeführt werden, nicht unterstützt.
Typ: Ganzzahl  
Erforderlich: Nein  
Die Größe des `/dev/shm`-Volumes (in MB). Dieser Parameter ist der Option `--shm-size` für die Docker-Ausführung zugeordnet.  
`tmpfs`  
Typ: Array von [Tmpfs](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Tmpfs.html)-Objekten  
Erforderlich: Nein  
Der Container-Pfad, Mount-Optionen und Größe (in MiB) des tmpfs-Mounts. Dieser Parameter ist der Option `--tmpfs` für die Docker-Ausführung zugeordnet.