Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Parametri di definizione dell'attività di Amazon ECS per istanze gestite da Amazon ECS
Le definizioni delle attività sono suddivise in parti separate: la famiglia di attività, il ruolo dell'attività AWS Identity and Access Management (IAM), la modalità di rete, le definizioni dei contenitori, i volumi e la capacità. Le definizioni della famiglia e del container sono richieste in una definizione di attività. Al contrario, il ruolo dell'attività, la modalità di rete, i volumi e la capacità sono facoltativi.
Puoi utilizzare questi parametri in un file JSON per configurare la definizione del processo.
Di seguito sono riportate descrizioni più dettagliate per ogni parametro di definizione di attività per Istanze gestite da Amazon ECS.
Family
family-
Tipo: stringa
Campo obbligatorio: sì
Quando registri una definizione di attività, le assegni una famiglia, ovvero una sorta di nome per più versioni della definizione di attività, specificando un numero di revisione. Alla prima definizione di attività registrata in una determinata famiglia viene assegnato il numero di revisione 1 e a qualsiasi definizione di attività registrata successivamente viene assegnato un numero di revisione sequenziale.
Capacity
Quando si registra una definizione di attività, è possibile specificare la capacità che Amazon ECS deve convalidare per tale definizione. Se la definizione di attività non viene convalidata in base alle compatibilità specificate, viene restituita un'eccezione client. Per ulteriori informazioni, consultare Amazon ECS launch types.
Il parametro seguente è permesso in una definizione di attività.
requiresCompatibilities-
Tipo: array di stringhe
Campo obbligatorio: no
Valori validi:
MANAGED_INSTANCESLa capacità per la quale è stata convalidata la definizione di attività. In questo modo viene avviato un controllo per garantire che tutti i parametri utilizzati nella definizione di attività soddisfino i requisiti per Istanze gestite da Amazon ECS.
Ruolo del processo
taskRoleArn-
▬Tipo: stringa
Campo obbligatorio: no
Quando registri una definizione di attività, puoi fornire un ruolo di attività per un ruolo IAM che consenta ai contenitori inclusi nell'attività di chiamare per tuo conto i dati specificati nelle politiche associate. AWS APIs Per ulteriori informazioni, consulta Ruolo IAM dell'attività Amazon ECS.
Ruolo per l'esecuzione del processo
executionRoleArn-
▬Tipo: stringa
Obbligatorio: condizionale
L'Amazon Resource Name (ARN) del ruolo di esecuzione dell'attività che concede all'agente container Amazon ECS l'autorizzazione a effettuare chiamate AWS API per tuo conto. Per ulteriori informazioni, consulta Ruolo IAM di esecuzione di attività Amazon ECS.
Nota
Il ruolo IAM di esecuzione di attività è necessario a seconda dei requisiti dell'attività. Il ruolo è necessario per l'estrazione di immagini ECR private e l'utilizzo del driver di registro.
awslogs
Modalità di rete
networkMode-
▬Tipo: stringa
Campo obbligatorio: no
Impostazione predefinita:
awsvpcLa modalità di rete da utilizzare per i contenitori coinvolti nell'operazione. Per le attività Amazon ECS ospitate su Istanze gestite Amazon ECS, i valori validi sono
awsvpcehost. Se non viene specificata alcuna modalità di rete, la modalità di rete predefinita èawsvpc.Se la modalità di rete è attiva
host, l'operazione ignora l'isolamento della rete e i container utilizzano direttamente lo stack di rete dell'host.Importante
Quando si eseguono attività che utilizzano la modalità di rete
host, per una maggiore sicurezza, non eseguire container utilizzando l'utente root (UID 0). Come best practice per la sicurezza, utilizza sempre un utente non root.Se la modalità di rete è
awsvpc, al processo viene assegnata un'interfaccia di rete elastica e, quando crei un servizio o esegui un processo con la definizione di attività, devi specificareNetworkConfiguration. Per ulteriori informazioni, consulta Rete di attività di Amazon ECS per istanze gestite Amazon ECS.Le modalità di
awsvpcretehoste offrono le massime prestazioni di rete per i container perché utilizzano lo stack EC2 di rete Amazon. Con le modalità di retehosteawsvpc, le porte dei container esposte sono mappate direttamente alla porta host corrispondente (per la modalità di retehost) o alla porta dell'interfaccia di rete elastica collegata (per la modalità di reteawsvpc). Pertanto, non puoi utilizzare le mappature delle porte host dinamiche.
Piattaforma di runtime
operatingSystemFamily-
▬Tipo: stringa
Campo obbligatorio: no
Di default: LINUX
Quando registri una definizione di attività, devi specificare la famiglia del sistema operativo.
Il valore valido per questo campo è
LINUX.Tutte le definizioni di attività utilizzate in un servizio devono avere lo stesso valore per questo parametro.
Quando una definizione di attività fa parte di un servizio, questo valore deve corrispondere al valore
platformFamilydel servizio. cpuArchitecture-
▬Tipo: stringa
Obbligatorio: condizionale
Quando registri una definizione di attività, devi specificare l'architettura della CPU. I valori validi sono
X86_64eARM64.Se non specifichi un valore, Amazon ECS tenta di inserire attività sull'architettura CPU disponibile in base alla configurazione del provider di capacità. Per garantire che le attività vengano posizionate su un'architettura CPU specifica, specifica un valore per
cpuArchitecturenella definizione dell'attività.Tutte le definizioni di attività utilizzate in un servizio devono avere lo stesso valore per questo parametro.
Per ulteriori informazioni su
ARM64, consultare Definizioni di attività Amazon ECS per carichi di lavoro ARM a 64 bit.
Dimensioni processo
Quando registri una definizione di attività, puoi specificare la quantità totale di CPU e memoria utilizzata per l'attività. Questo valore è separato dai valori cpu e memory a livello di definizione del container. Per le attività ospitate su EC2 istanze Amazon, questi campi sono facoltativi.
Nota
I parametri della CPU e della memoria a livello di processo vengono ignorati per i container Windows. Ti consigliamo di specificare risorse a livello di container per i container Windows.
cpu-
▬Tipo: stringa
Obbligatorio: condizionale
Il limite rigido di unità CPU da presentare per il processo. Puoi specificare i valori della CPU nel file JSON come stringa in unità CPU o in modalità virtuale CPUs (vCPUs). Ad esempio, è possibile specificare un valore di CPU come
1024in unità CPU o1 vCPUin vCPUs. Quando la definizione dell'attività viene registrata, un valore vCPU viene convertito in un numero intero che indica le unità CPU.Questo campo è facoltativo. Se il cluster non dispone di istanze di container registrate con le unità CPU richieste disponibili, l'operazione ha esito negativo. I valori supportati sono compresi tra
0.125v CPUs e10vCPUs.
memory-
▬Tipo: stringa
Obbligatorio: condizionale
Il limite rigido di memoria da presentare al processo. È possibile specificare i valori di memoria nella definizione dell'attività come stringa in mebibytes (MiB) o gigabytes (GB). Ad esempio, è possibile specificare un valore di memoria
3072in MiB o3 GBin GB. Quando la definizione di attività è registrata, un valore GB viene convertito in un numero intero che indica il MiB.Questo campo è facoltativo e può essere utilizzato qualsiasi valore. Se viene specificato un valore di memoria a livello di attività, il valore di memoria a livello di container è facoltativo. Se il cluster non dispone di istanze di container registrate con la memoria richiesta disponibile, l'attività non va a buon fine. Puoi ottimizzare l'utilizzo delle risorse assegnando alle attività quanta più memoria possibile per un determinato tipo di istanza. Per ulteriori informazioni, consulta Allocazione della memoria di un'istanza di container Amazon ECS Linux.
Altri parametri di definizione di attività
I seguenti parametri di definizione di attività possono essere utilizzati quando si registrano le definizioni di attività nella console Amazon ECS con l'opzione Configure via JSON (Configura tramite JSON). Per ulteriori informazioni, consulta Creazione di una definizione di attività di Amazon ECS attraverso la nuova console.
Argomenti
Archiviazione temporanea
ephemeralStorage-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: oggetto EphemeralStorage
Campo obbligatorio: no
La quantità di archiviazione temporanea in GB da allocare per l'attività. Questo parametro viene utilizzato per espandere la quantità totale di archiviazione temporanea disponibile, oltre l'importo predefinito, per le attività ospitate su AWS Fargate. Per ulteriori informazioni, consulta Utilizzo di montaggio vincolato con Amazon ECS.
Modalità IPC
ipcMode-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
▬Tipo: stringa
Campo obbligatorio: no
Il namespace della risorsa IPC da utilizzare per i container nell'attività. I valori validi sono
host,taskonone. Sehostspecificato, tutti i contenitori che rientrano nelle attività che hanno specificato la modalitàhostIPC sulla stessa istanza di contenitore condividono le stesse risorse IPC con l'istanza Amazon EC2 host. Se è stato specificatotask, tutti i container all'interno dell'attività specificata condividono le stesse risorse IPC. Se è stato specificatonone, le risorse IPC all'interno dei container di un'attività sono private e non condivise con altri container in un'attività o sull'istanza di container. Se non viene specificato alcun valore, la condivisione dello spazio dei nomi delle risorse IPC dipende dalla configurazione di runtime del contenitore.
Modalità PID
pidMode-
▬Tipo: stringa
Campo obbligatorio: no
Il namespace del processo da utilizzare per i container nell'attività. I valori validi sono
hostotask. Se specificato, tutti i contenitori chehostsi trovano all'interno delle attività che hanno specificato la modalitàhostPID sulla stessa istanza di contenitore condividono lo stesso spazio dei nomi di processo con l'istanza Amazon EC2 host. Se è stata specificata l'task, tutti i container all'interno dell'attività specificata condividono lo stesso namespace del processo. Se non è stato specificato alcun valore, l'impostazione di default è un namespace privato.Se viene utilizzata la modalità
hostPID, esiste un maggiore rischio di esposizione a spazi dei nomi di attività indesiderati.
Configurazione del proxy
proxyConfiguration-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: oggetto ProxyConfiguration
Campo obbligatorio: no
I dettagli di configurazione del proxy App Mesh.
Tag
I metadati applicati alla definizione di un'attività per aiutare a categorizzarli e organizzarli. Ciascun tag è formato da una chiave e da un valore facoltativo. Li definisci entrambi.
Ai tag si applicano le seguenti limitazioni di base:
-
Numero massimo di tag per risorsa: 50
-
Per ogni risorsa, ogni chiave di tag deve essere unica e ogni chiave di tag può avere un solo valore.
-
Lunghezza massima della chiave: 128 caratteri Unicode in formato UTF-8
-
Lunghezza massima del valore: 256 caratteri Unicode in formato UTF-8
-
Se lo schema di assegnazione dei tag viene utilizzato in più servizi e risorse , tieni presente che altri servizi potrebbero prevedere limitazioni sui caratteri consentiti. I caratteri generalmente consentiti sono: lettere, numeri e spazi rappresentabili in UTF-8 e i seguenti caratteri: + - =. _:/@.
-
Per le chiavi e i valori dei tag viene fatta la distinzione tra maiuscole e minuscole.
-
Non utilizzare alcuna combinazione maiuscola o minuscola
aws:AWS:, ad esempio un prefisso per chiavi o valori, poiché è riservata all'uso. AWS Non è possibile modificare né eliminare le chiavi o i valori di tag con tale prefisso. I tag con questo prefisso non vengono conteggiati per il limite del numero di tag per risorsa.
key-
▬Tipo: stringa
Campo obbligatorio: no
Una parte di una coppia chiave-valore che costituisce un tag. Una chiave è un'etichetta generale che funge da categoria per più valori di tag specifici.
value-
▬Tipo: stringa
Campo obbligatorio: no
La parte facoltativa di una coppia chiave-valore che costituisce un tag. Un valore agisce come descrittore all'interno di una categoria di tag (chiave).
Acceleratore Elastic Inference (obsoleto)
Nota
Amazon Elastic Inference (EI) non è più disponibile per i clienti.
inferenceAccelerator-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: oggetto InferenceAccelerator
Campo obbligatorio: no
Gli accelerator di inferenza elastica da utilizzare per i container nell'attività.
Vincoli di posizionamento
placementConstraints-
Tipo: matrice di oggetti TaskDefinitionPlacementConstraint
Campo obbligatorio: no
Una matrice di oggetti vincolo di posizionamento da utilizzare per l'attività. Puoi specificare un massimo di 10 vincoli per attività (questo limite include i vincoli nella definizione di attività e quelli specificati in fase di runtime).
Amazon ECS supporta i vincoli di posizionamento
distinctInstaceememberOfper le attività in esecuzione sulle Istanze gestite da Amazon ECS. I seguenti attributi sono supportati per le attività che utilizzano il vincolo di posizionamentomemberOf:-
ecs.subnet-id -
ecs.availability-zone -
ecs.cpu-architecture -
ecs.instance-type
Per ulteriori informazioni sul posizionamento dei vincoli, consultare Definisci quali istanze di container Amazon ECS utilizza per le attività.
-
Volumi
Quando registri una definizione di attività, puoi facoltativamente specificare un elenco di volumi per le tue attività. Ciò consente di utilizzare i volumi di dati nelle attività.
Per ulteriori informazioni sui tipi di volume e altri parametri, consultare Opzioni di archiviazione per le attività di Amazon ECS.
name-
Tipo: stringa
Campo obbligatorio: sì
Nome del volume. Può essere costituito da un massimo di 255 lettere (maiuscole e minuscole), numeri e trattini. Nel parametro
sourceVolumedella definizione del containermountPointsviene fatto riferimento a questo nome. host-
Tipo: oggetto HostVolumeProperties
Campo obbligatorio: no
Questo parametro viene specificato quando si utilizzano volumi host di montaggi vincolati. Il contenuto del parametro
hostdetermina se il volume host di montaggio vincolato viene mantenuto nell'istanza di container host e il punto in cui viene archiviato. Se ilhostparametro è vuoto, il sistema assegna un percorso host per il volume di dati. Tuttavia, non è garantito che i dati siano mantenuti dopo l'interruzione del funzionamento dei container associati. dockerVolumeConfiguration-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: oggetto DockerVolumeConfiguration
Campo obbligatorio: no
Questo parametro viene specificato quando si utilizzano volumi docker.
efsVolumeConfiguration-
Tipo: oggetto EFSVolumedi configurazione
Campo obbligatorio: no
Questo parametro viene specificato quando si utilizza un file system Amazon EFS per l'archiviazione delle attività.
fsxWindowsFileServerVolumeConfiguration-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: oggetto FSxWindowsFileServerVolumeConfiguration
Campo obbligatorio: no
Questo parametro viene specificato quando utilizzi il file system Amazon FSx for Windows File Server per l'archiviazione delle attività.
configuredAtLaunch-
Tipo: Booleano
Campo obbligatorio: no
Specificare se il volume deve essere configurato al momento dell'avvio. Viene utilizzato per creare volumi Amazon EBS per attività autonome o attività create come parte di un servizio. Ogni revisione della definizione di attività può avere un solo volume configurato all'avvio nella configurazione del volume.
Definizioni del container
Quando registri una definizione di attività, devi specificare un elenco di definizioni del container che vengono trasmesse al daemon Docker in un'istanza di container. I seguenti parametri sono consentiti in una definizione del container.
Argomenti
Nome
name-
Tipo: stringa
Campo obbligatorio: sì
Il nome di un container. Sono consentite fino a 255 lettere (maiuscole e minuscole), numeri, trattini e caratteri di sottolineatura. Se colleghi più container in una definizione di attività, il parametro
namedi uno dei container può essere inserito nel parametrolinksdi un altro container. Questo per collegare i container.
Immagine
image-
Tipo: stringa
Campo obbligatorio: sì
L'immagine utilizzata per avviare un container. Questa stringa viene trasmessa direttamente al daemon Docker. Per impostazione predefinita, le immagini nel registro Docker Hub sono disponibili. Puoi anche specificare altri repository con
orepository-url/image:tag. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole); sono consentiti numeri, trattini, caratteri di sottolineatura, due punti, punti, barre e cancelletti. Questo parametro è mappato surepository-url/image@digestImagenel comando creazione container e nel parametroIMAGEdel docker di esecuzione del comando.-
Quando viene avviato un nuovo processo, l'agente del container Amazon ECS esegue il pull della versione più recente dell'immagine e del tag specificati per il container da utilizzare. Tuttavia, gli aggiornamenti successivi a un'immagine del repository non vengono propagate alle attività già in esecuzione.
-
Quando non specifichi un tag o un digest nel percorso dell'immagine nella definizione dell'attività, l'agente contenitore Amazon ECS utilizza il
latesttag per estrarre l'immagine specificata. -
Gli aggiornamenti successivi a un'immagine del repository non vengono propagati alle attività già in esecuzione.
-
Le immagini nei registri privati sono supportate. Per ulteriori informazioni, consulta Utilizzo di immagini non AWS containerizzate in Amazon ECS.
-
Le immagini nei repository Amazon ECR possono essere specificate utilizzando la convenzione di denominazione
registry/repository:tagoregistry/repository@digest, ad esempio,aws_account_id.dkr.ecr.region.amazonaws.com/omy-web-app:latestaws_account_id.dkr.ecr.region.amazonaws.com/.my-web-app@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE -
Le immagini in repository ufficiali su Docker Hub utilizzano un singolo nome (ad esempio
ubuntuomongo). -
Le immagini in altri repository su Docker Hub vengono qualificate con un nome di organizzazione (ad esempio,
amazon/amazon-ecs-agent). -
Le immagini in altri archivi online vengono ulteriormente qualificate da un nome di dominio (ad esempi,
quay.io/assemblyline/ubuntu).
-
versionConsistency-
▬Tipo: stringa
Valori validi:
enabled|disabledCampo obbligatorio: no
Specificare se Amazon ECS risolverà il tag dell'immagine del container fornito nella definizione del container in un digest di immagini. Per impostazione predefinita, questo comportamento è
enabled. Se si imposta il valore per un container comedisabled, Amazon ECS non risolverà il tag dell'immagine del container in un digest e utilizzerà l'URI dell'immagine originale specificato nella definizione del container per l'implementazione. Per ulteriori informazioni sulla risoluzione dell'immagine del container, consultare Risoluzione dell'immagine del contenitore.
Memoria
memory-
Tipo: integer
Campo obbligatorio: no
La quantità (in MiB) della memoria da presentare al container. Se il container tenta di superare la memoria specificata qui, viene terminato. La quantità totale di memoria prenotata per tutti i container all'interno di un processo deve essere inferiore al valore
memorydel processo, se specificato. Questo parametro è mappato aMemorynella creazione container del comando del docker e l'opzione--memoryper docker run.Il daemon Docker 20.10.0 o versione successiva prenota un minimo di 6 MiB di memoria per un container. Pertanto, non specificare meno di 6 MiB di memoria per i container.
Il daemon Docker 19.03.13-ce o versione precedente prenota un minimo di 4 MiB di memoria per un container. Pertanto, non specificare meno di 4 MiB di memoria per i container.
Nota
Per ottimizzare l'utilizzo delle risorse, assegnando all'attività quanta più memoria possibile per un determinato tipo di istanza, consulta Allocazione della memoria di un'istanza di container Amazon ECS Linux.
memoryReservation-
Tipo: integer
Campo obbligatorio: no
Il limite flessibile (in MiB) della memoria da prenotare per il container. Quando la memoria di sistema è in conflitto, Docker tenta di conservare la memoria del container entro questo limite flessibile. Tuttavia, il container può utilizzare una quantità maggiore di memoria, se necessario. Il container può utilizzare memoria fino al limite rigido specificato con il parametro
memory(se applicabile) o tutta la memoria disponibile sull'istanza di container, a seconda di quale evento si verifica prima. Questo parametro è mappato aMemoryReservationnella creazione container del comando del docker e l'opzione--memory-reservationper docker run.Se non viene specificato un valore di memoria a livello di attività, è necessario specificare un numero intero diverso da zero per uno o entrambi i codici
memoryomemoryReservationin una definizione del container. Se specifichi entrambe,memorydeve essere superiore amemoryReservation. Se specifichimemoryReservation, tale valore viene sottratto dalle risorse di memoria disponibili per l'istanza di container in cui il container viene posizionato. in caso contrario, viene utilizzato il valorememory.Ad esempio, supponiamo che il container normalmente utilizza 128 MiB di memoria, ma con picchi occasionali di 256 MiB di memoria per brevi periodi di tempo. Puoi impostare un valore di
memoryReservationdi 128 MiB e un limite rigidomemorydi 300 MiB. Questa configurazione consente al container di riservare 128 MiB di memoria solo dalle risorse restanti nell'istanza di container. Allo stesso tempo, questa configurazione consente al container di utilizzare più risorse di memoria quando necessario.Il daemon Docker 20.10.0 o versione successiva prenota un minimo di 6 MiB di memoria per un container. Pertanto, non specificare meno di 6 MiB di memoria per i container.
Il daemon Docker 19.03.13-ce o versione precedente prenota un minimo di 4 MiB di memoria per un container. Pertanto, non specificare meno di 4 MiB di memoria per i container.
Nota
Per ottimizzare l'utilizzo delle risorse, assegnando all'attività quanta più memoria possibile per un determinato tipo di istanza, consulta Allocazione della memoria di un'istanza di container Amazon ECS Linux.
CPU
cpu-
Tipo: integer
Campo obbligatorio: no
Il numero di unità
cpuprenotate per il container. Questo parametro è mappato aCpuSharesnella creazione container del comando del docker e l'opzione--cpu-sharesper docker run.Questo campo è facoltativo per le attività che utilizzano fornitori di EC2 capacità e l'unico requisito è che la quantità totale di CPU riservata per tutti i contenitori all'interno di un'attività sia inferiore al valore a livello di attività
cpu.Nota
Puoi determinare il numero di unità CPU disponibili per tipo di EC2 istanza moltiplicando la v CPUs elencata per quel tipo di istanza nella pagina dei dettagli di Amazon EC2 Instances
per 1.024. I container Linux condividono unità CPU non assegnate con altri container nell'istanza di container con lo stesso rapporto della quantità assegnata. Ad esempio, se si esegue un'attività di container singolo in un tipo di istanza single-core con 512 unità di CPU specificate per quel container e questa è l'unica attività in esecuzione nell'istanza di container, tale container potrebbe utilizzare tutte le quote di 1.024 unità di CPU in qualsiasi momento. Tuttavia, se hai avviato un'altra copia della stessa attività su quell'istanza di container, a ogni attività viene garantito un minimo di 512 unità CPU quando necessario. Inoltre, ogni container potrebbe passare a un maggiore utilizzo della CPU se l'altro container non la utilizza. Se entrambe le attività fossero sempre attive al 100%, sarebbero limitate a 512 unità CPU.
Sulle istanze di container Linux, il daemon Docker nell'istanza di container utilizza il valore CPU per calcolare i relativi rapporti di quote di CPU per i container in esecuzione. Per ulteriori informazioni, consulta CPU share constraint
nella documentazione Docker. Il valore minimo valido per il valore della quota di CPU ammesso dal kernel Linux è 2. Tuttavia, il parametro CPU non è obbligatorio e puoi usare valori di CPU minori di 2 nelle definizioni del container. Per i valori di CPU inferiori a 2 (incluso un valore nullo), il comportamento varia in base alla versione dell'agente del container Amazon ECS: -
Versioni dell'agente inferiori o uguali a 1.1.0: i valori di CPU null e zero vengono trasmessi a Docker come 0 e successivamente convertiti in 1.024 quote di CPU. I valori di CPU di 1 vengono trasmessi a Docker come 1 e il kernel Linux li converte in due quote di CPU.
-
Versioni dell'agente superiori o uguali a 1.2.0: i valori di CPU null, zero e 1 vengono trasmessi a Docker come 2.
Sulle istanze di container Windows, il limite di CPU viene applicato come un limite assoluto o una quota. I container Windows hanno accesso solo alla quantità di CPU descritta nella definizione dell'attività. Un valore di CPU null o zero viene passato a Docker come
0, che Windows interpreta come 1% di una CPU. -
Mappature di porte
portMappings-
Tipo: array di oggetti
Campo obbligatorio: no
Le mappature delle porte espongono le porte di rete del container al mondo esterno. Ciò consente ai client di accedere all'applicazione. Viene anche utilizzato per la comunicazione tra container all'interno della stessa attività.
Per le definizioni di attività che utilizzano la modalità di rete
awsvpc, specifica solo il parametrocontainerPort.hostPortviene sempre ignorato e la porta del container viene mappata automaticamente su una casuale con numero alto sull'host.La maggior parte dei campi di questo parametro (inclusi
containerPort,hostPorteprotocol) è associata aPortBindingsnella sezione creazione container del comando e l'opzione--publishper docker run. Se la modalità di rete di una definizione di attività è impostata suhost, le porte host devono essere non definite o devono corrispondere alla porta del container nella mappatura della porta.Nota
Dopo che un processo raggiunge lo stato
RUNNING, gli incarichi manuali e automatici relativi alle porte del container e dell'host sono visibili nelle posizioni seguenti:-
Console: sezione Binding di rete della descrizione di un container per un processo selezionato.
-
AWS CLI: la sezione
networkBindingsdell'output del comando describe-tasks. -
API: risposta
DescribeTasks. -
Metadati: l'endpoint dei metadati dell'attività.
appProtocol-
▬Tipo: stringa
Campo obbligatorio: no
Il protocollo dell'applicazione utilizzato per la mappatura delle porte. Questo parametro si applica solo a Service Connect. Ti consigliamo di impostare questo parametro in maniera coerente con il protocollo utilizzato dall'applicazione. Se imposti questo parametro, Amazon ECS aggiunge la gestione delle connessioni specifica del protocollo al proxy Service Connect. Se imposti questo parametro, Amazon ECS aggiunge la telemetria specifica del protocollo nella console Amazon ECS e. CloudWatch
Se non imposti un valore per questo parametro, viene utilizzato TCP. Amazon ECS, tuttavia, non aggiunge la telemetria specifica del protocollo TCP.
Per ulteriori informazioni, consulta Usa Service Connect per connettere i servizi Amazon ECS con nomi brevi.
Valori di protocollo validi:
"HTTP" | "HTTP2" | "GRPC" containerPort-
Tipo: integer
Obbligatorio: sì, quando si utilizzano
portMappingsIl numero di porta nel container associato alla porta dell'host definito dall'utente o assegnata automaticamente.
Per le attività che utilizzano la modalità di rete
awsvpc, utilizzarecontainerPortper specificare le porte esposte. containerPortRange-
▬Tipo: stringa
Campo obbligatorio: no
L'intervallo dei numeri di porta nel container associato all'intervallo di porte host mappato in maniera dinamica.
È possibile impostare questo parametro solo utilizzando l'API
register-task-definition. L'opzione è disponibile nel parametroportMappings. Per ulteriori informazioni, consulta register-task-definition nella documentazione di riferimento AWS Command Line Interface .Quando specifichi un
containerPortRange, si applicano le seguenti regole:-
È necessario utilizzare la modalità di rete
awsvpc. -
L'istanza di container deve avere almeno la versione 1.67.0 dell'agente del container e almeno la versione 1.67.0-1 del pacchetto
ecs-init. -
Puoi specificare fino a 100 intervalli di porte per container.
-
Non specificare un
hostPortRange. Il valore dell'hostPortRangeè impostato come indicato di seguito:-
Per i container in un'attività con la modalità di rete
awsvpc, lahostPortè impostata sullo stesso valore dellacontainerPort. Questa è una strategia di mappatura statica.
-
-
I valori validi di
containerPortRangesono compresi tra 1 e 65535. -
Una porta può essere inclusa solo in una sola mappatura delle porte per ogni container.
-
Non puoi specificare intervalli di porte sovrapposti.
-
La prima porta nell'intervallo deve essere minore dell'ultima porta nell'intervallo.
-
Docker consiglia di disattivare il proxy docker nel file di configurazione del daemon Docker quando disponi di un numero elevato di porte.
Per ulteriori informazioni, consulta il numero #11185 su.
GitHub Per informazioni sulla modalità di disattivazione del proxy docker nel file di configurazione del daemon Docker, consulta Daemon Docker nella Guida per lo sviluppatore di Amazon ECS.
Puoi effettuare la chiamata a DescribeTasks per visualizzare l'
hostPortRange, cioè le porte dell'host associate alle porte del container.Gli intervalli di porte non sono inclusi negli eventi delle attività di Amazon ECS, a EventBridge cui vengono inviati. Per ulteriori informazioni, consulta Automatizza le risposte agli errori di Amazon ECS utilizzando EventBridge.
-
hostPortRange-
▬Tipo: stringa
Campo obbligatorio: no
L'intervallo di numeri di porta sull'host utilizzato con il collegamento di rete. Questo viene assegnato da Docker e consegnato dall'agente Amazon ECS.
hostPort-
Tipo: integer
Campo obbligatorio: no
Il numero di porta nell'istanza di container per prenotare per il container.
hostPortpuò essere lasciato vuoto o deve essere lo stesso valore dicontainerPort.L'intervallo di porte temporanee predefinite per Docker versione 1.6.0 e successive è elencato nell'istanza in
/proc/sys/net/ipv4/ip_local_port_range. Se questo parametro kernel non è disponibile, viene utilizzato l'intervallo delle porte temporaneo di default da49153–65535. Non tentare di specificare una porta dell'host nell'intervallo di porte effimere. Questo perché sono riservate per l'assegnazione automatica. In generale, le porte al di sotto di32768non rientrano nell'intervallo delle porte temporanee.Le porte prenotate di default sono
22per SSH, le porte Docker2375e2376e le porte51678-51680dell'agente del container di Amazon ECS. Qualsiasi porta dell'host precedentemente specificata dall'utente per un'attività in esecuzione viene prenotata anche mentre tale attività è in esecuzione. Dopo l'arresto di un'attività, la porta dell'host viene rilasciata. Le porte prenotate correnti vengono visualizzate nel parametroremainingResourcesdell'output describe-container-instances. Un'istanza di container può contenere fino a 100 porte prenotate alla volta, incluse quelle predefinite. Le porte assegnate automaticamente non vengono conteggiate ai fini della quota di 100 porte prenotate. name-
▬Tipo: stringa
Obbligatorio: no, necessario per configurare Service Connect e VPC Lattice in un servizio
Il nome utilizzato per la mappatura delle porte. Questo parametro si applica solo a Service Connect e VPC Lattice. Questo parametro è il nome utilizzato nella configurazione di Service Connect e VPC Lattice di un servizio.
Per ulteriori informazioni, consulta Usa Service Connect per connettere i servizi Amazon ECS con nomi brevi.
Nell'esempio seguente, vengono visualizzati entrambi i campi obbligatori per Service Connect e VPC Lattice.
"portMappings": [ { "name":string, "containerPort":integer} ] protocol-
▬Tipo: stringa
Campo obbligatorio: no
Il protocollo utilizzato per la mappatura delle porte. I valori validi sono
tcpeudp. Il valore predefinito ètcp.Importante
È supportato solo
tcpper Service Connect. Ricorda chetcpè implicito se questo campo non è impostato.
Se specifichi una porta dell'host, utilizza la seguente sintassi.
"portMappings": [ { "containerPort": integer, "hostPort": integer } ... ]Se desideri una porta dell'host assegnata automaticamente, utilizza la seguente sintassi.
"portMappings": [ { "containerPort": integer } ... ] -
Credenziali del repository privato
repositoryCredentials-
Tipo: oggetto RepositoryCredentials
Campo obbligatorio: no
Le credenziali dell'archivio per l'autenticazione di un registro privato.
Per ulteriori informazioni, consulta Utilizzo di immagini non AWS containerizzate in Amazon ECS.
-
credentialsParameter -
▬Tipo: stringa
Obbligatorio: sì, quando si utilizzano
repositoryCredentialsL'Amazon Resource Name (ARN) del segreto contenente le credenziali dell'archivio privato.
Per ulteriori informazioni, consulta Utilizzo di immagini non AWS containerizzate in Amazon ECS.
Nota
Quando utilizzi l'API Amazon ECS o AWS SDKs se il segreto esiste nella stessa regione dell'attività che stai avviando, puoi utilizzare l'ARN completo o il nome del segreto. AWS CLI Quando si utilizza il Console di gestione AWS, è necessario specificare l'ARN completo del segreto.
Di seguito viene riportato un frammento di una definizione di attività che mostra i parametri obbligatori:
"containerDefinitions": [ { "image": "private-repo/private-image", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name" } } ]
-
Essential
essential-
Tipo: Booleano
Campo obbligatorio: no
Se il parametro
essentialdi un container è contrassegnato cometruee tale container dà esito negativo o si interrompe per qualsiasi motivo, tutti gli altri container che fanno parte del processo vengono interrotti. Se il parametroessentialdi un container è contrassegnato comefalse, il suo esito negativo non influenza il resto dei container in un'attività. Se questo parametro viene omesso, un container si considera essenziale.Tutti i processi devono avere almeno un container essenziale. Se disponi di un'applicazione composta da più container, raggruppa i container utilizzati per scopi comuni in componenti e separa i diversi componenti in più definizioni di attività. Per ulteriori informazioni, consulta Progetta la tua applicazione per Amazon ECS.
Punto di ingresso
entryPoint-
Tipo: array di stringhe
Campo obbligatorio: no
Il punto di ingresso che viene trasmesso al container. Questo parametro è mappato a
Entrypointnella creazione container del comando del docker e l'opzione--entrypointper docker run."entryPoint": ["string", ...]
Comando
command-
Tipo: array di stringhe
Campo obbligatorio: no
Il comando che viene inviato al container. Questo parametro è mappato a
Cmdnella creazione container del comando del docker e il parametroCOMMANDper docker run. In caso di più argomenti, ognuno di questi deve essere una stringa separata nell'array."command": ["string", ...]
Directory di lavoro
workingDirectory-
▬Tipo: stringa
Campo obbligatorio: no
La directory di lavoro nel container in cui eseguire i comandi. Questo parametro è mappato a
WorkingDirnella creazione container del comando del docker e l'opzione--workdirper docker run.
Parametri avanzati di definizione del container
I seguenti parametri avanzati di definizione del container forniscono funzionalità estese al comando di esecuzione del docker che viene utilizzato per lanciare container nelle istanze di container di Amazon ECS.
Argomenti
Politica di riavvio
restartPolicy-
La politica di riavvio del container e i parametri di configurazione associati. Quando configuri una politica di riavvio per un container, Amazon ECS può riavviare il container senza dover sostituire l'attività. Per ulteriori informazioni, consulta Riavviare singoli container nelle attività Amazon ECS con policy di riavvio dei container.
enabled-
Tipo: Booleano
Campo obbligatorio: sì
Specificare se è abilitata una politica di riavvio per il container.
ignoredExitCodes-
Tipo: array di numeri interi
Campo obbligatorio: no
Un elenco di codici di uscita che Amazon ECS ignorerà e non tenterà di riavviare. È possibile specificare fino a 50 codici di uscita dei container. Per impostazione predefinita, Amazon ECS non ignora alcun codice di uscita.
restartAttemptPeriod-
Tipo: integer
Campo obbligatorio: no
Un periodo di tempo (in secondi) durante il quale il container deve essere eseguito prima che venga tentato un riavvio. Un container può essere riavviato solo una volta ogni
restartAttemptPeriodsecondi. Se un container non è in grado di funzionare per questo periodo di tempo ed esce in anticipo, non verrà riavviato. È possibile specificare unrestartAttemptPeriodminimo di 60 secondi e unrestartAttemptPeriodmassimo di 1.800 secondi. Per impostazione predefinita, un container deve funzionare per 300 secondi prima di poter essere riavviato.
Health check
healthCheck-
Comando di controllo dell'integrità del container e parametri di configurazione associati per il container. Per ulteriori informazioni, consulta Determina lo stato delle attività di Amazon ECS utilizzando i controlli dello stato dei container.
command-
Matrice di stringhe che rappresenta il comando eseguito dal container per determinare l'integrità. La matrice di stringhe può iniziare con
CMDper eseguire direttamente gli argomenti del comando oppure conCMD-SHELLper eseguire il comando con la shell predefinita del container. Se non è specificato nessuno dei due, viene utilizzatoCMD.Quando si registra una definizione di attività in Console di gestione AWS, utilizzare un elenco di comandi separati da virgole. Questi comandi vengono convertiti in stringa dopo la creazione della definizione delle attività. Di seguito è riportato un esempio di input per il controllo dell'integrità.
CMD-SHELL, curl -f http://localhost/ || exit 1Quando si registra una definizione di attività utilizzando il pannello Console di gestione AWS JSON, o il AWS CLI APIs, racchiude l'elenco dei comandi tra parentesi. Di seguito è riportato un esempio di input per il controllo dell'integrità.
[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]Un codice di uscita 0, senza output
stderr, indica l'esito positivo, mentre un codice di uscita diverso da zero indica un errore. interval-
Intervallo di tempo (in secondi) tra ogni controllo dell'integrità. Puoi specificare un valore compreso tra 5 e 300 secondi. Il valore di predefinito è 30 secondi.
timeout-
Periodo di tempo in secondi per cui attendere che un controllo dell'integrità venga superato prima di considerarlo un errore. Puoi specificare un valore compreso tra 2 e 60 secondi. Il valore predefinito è 5 secondi.
retries-
Numero di tentativi per cui riprovare un controllo dello stato non riuscito prima che il container venga considerato non integro. Puoi specificare un valore compreso tra 1 e 10 tentativi. Il valore predefinito è tre tentativi.
startPeriod-
Periodo di tolleranza facoltativo entro il quale concedere ai container il tempo necessario per il bootstrap prima che i controlli dell'integrità non riusciti vengano conteggiati rispetto al numero massimo di nuovi tentativi. È possibile specificare un valore compreso tra 0 e 300 secondi. Per impostazione predefinita,
startPeriodè disabilitato.Se un controllo dello stato va a buon fine all'interno di
startPeriod, il container è considerato integro e gli errori successivi vengono conteggiati rispetto al numero massimo di nuovi tentativi.
Ambiente
cpu-
Tipo: integer
Campo obbligatorio: no
Il numero di unità
cpuche l'agente del container Amazon ECS riserverà per il container. Su Linux, questo parametro è mappato aCpuSharesnella sezione Create a container. Questo campo è facoltativo per le attività eseguite su istanze gestite da Amazon ECS. La quantità totale di CPU riservata per tutti i container all'interno di un'attività deve essere inferiore al valore
cpua livello di attività.I container Linux condividono unità CPU non assegnate con altri container nell'istanza di container con lo stesso rapporto della quantità assegnata. Ad esempio, supponiamo di eseguire un'attività di container singolo in un tipo di istanza single core con 512 unità di CPU specificate per tale container. Inoltre, tale attività è l'unica in esecuzione sull'istanza di container. In questo esempio, il container può utilizzare la condivisione completa di 1.024 unità CPU in qualsiasi momento. Tuttavia, si supponga di aver avviato un'altra copia della stessa attività su quell'istanza di container. A ogni attività viene garantito un minimo di 512 unità CPU quando necessario. Analogamente, se l'altro container non utilizza la CPU rimanente, ogni container può passare a un maggiore utilizzo della CPU. Tuttavia, se entrambe le attività sono sempre attive al 100%, sono limitate a 512 unità CPU.
Sulle istanze di container Linux, il daemon Docker nell'istanza di container utilizza il valore CPU per calcolare i relativi rapporti di quote di CPU per i container in esecuzione. Il valore minimo valido per la quota di CPU ammesso dal kernel Linux è 2, mentre quello massimo valido per la quota di CPU ammesso dal kernel Linux è 262.144. Tuttavia, il parametro CPU non è obbligatorio e puoi usare valori di CPU minori di 2 e superiori a 262.144 nelle definizioni del container. Per i valori di CPU minori di 2 (incluso un valore null) e superiori a 262.144, il comportamento varia in base alla versione dell'agente del container Amazon ECS:
Per ulteriori esempi, consulta Modalità di gestione delle risorse di CPU e memoria di Amazon ECS
. gpu-
Tipo: oggetto ResourceRequirement
Campo obbligatorio: no
Il numero di
GPUsfisiche che l'agente del container Amazon ECS riserva per il container. Il numero di contenitori GPUs riservati per tutti i contenitori di un'attività non deve superare il numero di disponibili GPUs sull'istanza del contenitore su cui viene avviata l'attività. Per ulteriori informazioni, consulta Definizioni di attività Amazon ECS per carichi di lavoro GPU. Elastic Inference accelerator-
Nota
Questo parametro non è supportato per i container ospitati su Istanze gestite Amazon ECS.
Tipo: oggetto ResourceRequirement
Campo obbligatorio: no
Per il tipo
InferenceAccelerator, ilvaluecorrisponde adeviceNameper unInferenceAcceleratorspecificato in una definizione di attività. Per ulteriori informazioni, consulta Nome dell'acceleratore Elastic Inference (obsoleto). essential-
Tipo: Booleano
Campo obbligatorio: no
Si supponga che il parametro
essentialdi un container sia contrassegnato cometruee che tale container abbia esito negativo o si arresti per qualsiasi motivo. Di conseguenza, tutti gli altri container che fanno parte dell'attività vengono arrestati. Se il parametroessentialdi un container è contrassegnato comefalse, il suo esito negativo non influenza il resto dei container in un'attività. Se questo parametro viene omesso, un container si considera essenziale.Tutti i processi devono avere almeno un container essenziale. Supponiamo di avere un'applicazione composta da più container. In questo caso, si raggruppano i container utilizzati per uno scopo comune in componenti e si separano i diversi componenti in più definizioni delle attività. Per ulteriori informazioni, consulta Progetta la tua applicazione per Amazon ECS.
"essential": true|false entryPoint-
Importante
Le versioni precedenti dell'agente del container Amazon ECS non gestiscono correttamente i parametri
entryPoint. In caso di problemi durante l'utilizzoentryPoint, aggiorna l'agente del container o inserisci i comandi e gli argomenti come elementi di matricecommand.Tipo: array di stringhe
Campo obbligatorio: no
Il punto di ingresso che viene trasmesso al container.
"entryPoint": ["string", ...] command-
Tipo: array di stringhe
Campo obbligatorio: no
Il comando che viene inviato al container. Questo parametro è mappato a
Cmdnella creazione container del comando e il parametroCOMMANDper docker run. In caso di più argomenti, ognuno di questi deve essere una stringa separata nella matrice."command": ["string", ...] workingDirectory-
▬Tipo: stringa
Campo obbligatorio: no
La directory di lavoro nel container in cui eseguire i comandi. Questo parametro è mappato a
WorkingDirnella sezione Create a containerdi Docker Remote API e l'opzione --workdira docker run. "workingDirectory": "string" environmentFiles-
Tipo: array di oggetti
Campo obbligatorio: no
Un elenco di file contenenti le variabili di ambiente da passare a un container. Questo parametro è mappato all'opzione
--env-fileal comando esecuzione del docker.Puoi specificare fino a 10 file di ambiente. Il file deve avere un'estensione
.env. Ogni riga di un file di ambiente deve contenere una variabile di ambiente nel formatoVARIABLE=VALUE. Le righe che iniziano con#vengono trattate come commenti e vengono ignorate.Se nella definizione del container sono specificate singole variabili di ambiente, hanno la precedenza sulle variabili contenute in un file di ambiente. Se vengono specificati più file di ambiente che contengono la stessa variabile, vengono elaborati dall'alto verso il basso. Consigliamo di utilizzare nomi di variabili univoci. Per ulteriori informazioni, consulta Passare una singola variabile di ambiente a un container Amazon ECS.
value-
Tipo: stringa
Campo obbligatorio: sì
L'Amazon Resource Name (ARN) dell'oggetto Amazon S3 contenente il file della variabile di ambiente.
type-
Tipo: stringa
Campo obbligatorio: sì
Il tipo di file da utilizzare L'unico valore supportato è
s3.
environment-
Tipo: array di oggetti
Campo obbligatorio: no
Le variabili di ambiente da passare a un container. Questo parametro è mappato a
Envnella creazione container del comando del docker e l'opzione--enval comando per docker run.Importante
Non è consigliabile utilizzare variabili di ambiente non crittografate per informazioni sensibili, ad esempio dati di credenziali.
name-
▬Tipo: stringa
Obbligatorio: sì, quando viene utilizzato
environmentIl nome della variabile di ambiente.
value-
▬Tipo: stringa
Obbligatorio: sì, quando viene utilizzato
environmentIl valore della variabile di ambiente.
"environment" : [ { "name" : "string", "value" : "string" }, { "name" : "string", "value" : "string" } ] secrets-
Tipo: array di oggetti
Campo obbligatorio: no
Un oggetto che rappresenta il segreto da esporre al container. Per ulteriori informazioni, consulta Trasferimento di dati sensibili a un container Amazon ECS.
name-
Tipo: stringa
Campo obbligatorio: sì
Il valore da impostare come variabile di ambiente sul container.
valueFrom-
Tipo: stringa
Campo obbligatorio: sì
Il segreto da esporre al container. I valori supportati sono l'Amazon Resource Name (ARN) completo del Gestione dei segreti AWS segreto o l'ARN completo del parametro nel Parameter Store. AWS Systems Manager
Nota
Se il parametro Systems Manager Parameter Store o il parametro Secrets Manager esiste nella Regione AWS stessa operazione che si sta avviando, è possibile utilizzare l'ARN completo o il nome del segreto. Se il parametro esiste in una Regione diversa, deve essere specificato l'ARN completo.
"secrets": [ { "name": "environment_variable_name", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" } ]
Sicurezza
privileged-
Tipo: Booleano
Campo obbligatorio: no
Se il parametro è
true, al container vengono assegnati privilegi elevati nell'istanza di container host (simile all'utenteroot). Questo parametro è mappato aPrivilegednella creazione container del comando del docker e l'opzione--privilegedper docker run. user-
▬Tipo: stringa
Campo obbligatorio: no
L'utente da usare all'interno del container. Questo parametro è mappato a
Usernella creazione container del comando del docker e l'opzione--userper docker run.Importante
Quando si eseguono attività utilizzando la modalità di rete
host, non eseguire container utilizzando l'utente root (UID 0). È consigliabile utilizzare un utente non root per maggior sicurezza.È possibile specificare
userutilizzando i seguenti formati. Un eventuale UID o GID deve essere specificato come numero intero positivo.-
user -
user:group -
uid -
uid:gid -
user:gid -
uid:group
-
readonlyRootFilesystem-
Tipo: Booleano
Campo obbligatorio: no
Quando questo parametro è
true, al container viene assegnato il file system root di sola lettura. Questo parametro è mappato aReadonlyRootfsnella creazione container del comando del docker e l'opzione--read-onlyper docker run. dockerSecurityOptions-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: array di stringhe
Campo obbligatorio: no
Un elenco di stringhe per fornire etichette personalizzate per SELinux sistemi di sicurezza AppArmor multilivello. Questo campo non è valido per container in attività che utilizzano Fargate.
ulimits-
Tipo: matrice di oggetti Ulimit
Campo obbligatorio: no
Un elenco di valori
ulimitsda impostare nel container. Se viene specificato un valore ulimit in una definizione di attività, questo sostituisce i valori predefiniti impostati da Docker. Questo parametro è mappato aUlimitsnella creazione container del comando del docker e l'opzione--ulimitper docker run. Valori di denominazione validi vengono visualizzati nel tipo di dati Ulimit.I processi di Amazon ECS ospitati su Fargate utilizzano i valori del limite di risorse di default impostati dal sistema operativo, ad eccezione del parametro del limite di risorse
nofileche viene sovrascritto da Fargate. Il limite di risorsenofileimposta una restrizione sul numero di file aperti che un container può utilizzare. Il limite flessibilenofiledi default è1024mentre il limite rigido predefinito è65535.Questo parametro richiede la versione 1.18 o successiva dell'API Docker Remote sull'istanza del contenitore. Per controllare la versione Docker Remote API nell'istanza di container, accedi all'istanza di container ed esegui il seguente comando:
sudo docker version --format '{{.Server.APIVersion}}'
dockerLabels-
Nota
Questo parametro non è supportato per i container ospitati su Istanze gestite Amazon ECS.
Tipo: mappatura stringa a stringa
Campo obbligatorio: no
Una key/value mappa di etichette da aggiungere al contenitore. Questo parametro è mappato a
Labelsnella creazione container del comando del docker e l'opzione--labelper docker run.Questo parametro richiede la versione 1.18 o successiva dell'API Docker Remote sull'istanza del contenitore.
"dockerLabels": {"string": "string" ...}
Impostazioni di rete
disableNetworking-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: Booleano
Campo obbligatorio: no
Quando questo parametro è true, le reti sono disabilitate all'interno del container.
Il valore predefinito è
false."disableNetworking": true|false links-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: array di stringhe
Campo obbligatorio: no
Il parametro
linkconsente ai container di comunicare tra loro senza la necessità di mappatura delle porte. Questo parametro è supportato solo se la modalità di rete di una definizione delle attività è impostata subridge. Il costruttoname:internalNameè analogo aname:aliasnei collegamenti Docker. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole), numeri, trattini e trattini bassi.Importante
I container che vengono posizionati nella stessa istanza di container potrebbero comunicare tra loro senza necessità di collegamenti o mappature delle porte dell'host. L'isolamento di rete su un'istanza di container è controllato da gruppi di sicurezza e impostazioni VPC.
"links": ["name:internalName", ...] hostname-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
▬Tipo: stringa
Campo obbligatorio: no
Il nome host da utilizzare per il container. Questo parametro è mappato a
Hostnamenella creazione container del docker e l'opzione--hostnameper docker run."hostname": "string" dnsServers-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: array di stringhe
Campo obbligatorio: no
Un elenco di server DNS presentato al container.
"dnsServers": ["string", ...] extraHosts-
Nota
Questo parametro non è supportato per le attività che utilizzano la modalità di rete
awsvpc.Tipo: array di oggetti
Campo obbligatorio: no
Un elenco di nomi host e mappature di indirizzi IP da aggiungere al file
/etc/hostsnel container.Questo parametro è mappato a
ExtraHostsnella creazione container del comando del docker e l'opzione--add-hostper docker run."extraHosts": [ { "hostname": "string", "ipAddress": "string" } ... ]hostname-
▬Tipo: stringa
Obbligatorio: sì, quando si utilizzano
extraHostsIl nome host da utilizzare nella voce
/etc/hosts. ipAddress-
▬Tipo: stringa
Obbligatorio: sì, quando si utilizzano
extraHostsL'indirizzo IP da utilizzare nella voce
/etc/hosts.
Archiviazione e registrazione
readonlyRootFilesystem-
Tipo: Booleano
Campo obbligatorio: no
Se il parametro è true, al container viene assegnato l'accesso in sola lettura al file system radice. Questo parametro è mappato a
ReadonlyRootfsnella creazione container del comando del docker e l'opzione--read-onlyper docker run.Il valore predefinito è
false."readonlyRootFilesystem": true|false mountPoints-
Tipo: array di oggetti
Campo obbligatorio: no
I punti di montaggio per i volumi di dati nel container. Questo parametro è mappato ai
Volumesnella creazione container dell'API Docker e l'opzione--volumeper docker run.I container Windows possono montare intere directory sulla stessa unità di
$env:ProgramData. I container Windows non possono montare le directory su un'unità diversa e i punti di montaggio non possono essere utilizzati tra le unità. È necessario specificare i punti di montaggio per collegare un volume Amazon EBS direttamente a un'attività Amazon ECS.sourceVolume-
▬Tipo: stringa
Obbligatorio: sì, quando si utilizzano
mountPointsIl nome del volume da montare.
containerPath-
▬Tipo: stringa
Obbligatorio: sì, quando si utilizzano
mountPointsIl percorso nel container in cui verrà montato il volume.
readOnly-
Tipo: Booleano
Campo obbligatorio: no
Se il valore è
true, il container avrà accesso in sola lettura al volume. Se il valore èfalse, il container avrà accesso in scrittura al volume. Il valore predefinito èfalse.Per le attività eseguite su EC2 istanze che eseguono il sistema operativo Windows, lascia il valore predefinito di.
false
volumesFrom-
Tipo: array di oggetti
Campo obbligatorio: no
I volumi di dati da montare da un altro container. Questo parametro è mappato a
VolumesFromnella creazione container del comando del docker e l'opzione--volumes-fromper docker run.sourceContainer-
▬Tipo: stringa
Obbligatorio: sì, quando viene utilizzato
volumesFromIl nome del container da cui montare volumi.
readOnly-
Tipo: Booleano
Campo obbligatorio: no
Se il valore è
true, il container avrà accesso in sola lettura al volume. Se il valore èfalse, il container avrà accesso in scrittura al volume. Il valore predefinito èfalse.
"volumesFrom": [ { "sourceContainer": "string", "readOnly": true|false } ] logConfiguration-
Tipo: oggetto LogConfiguration
Campo obbligatorio: no
La specifica di configurazione dei log per il container.
Per definizioni dell'attività di esempio che utilizzano una configurazione di log, consulta Esempio di definizione di attività di Amazon ECS.
Questo parametro è mappato a
LogConfignella creazione container del comando del docker e l'opzione--log-driverper docker run. Per impostazione predefinita, i container utilizzano lo stesso driver di log utilizzato dal daemon Docker. Tuttavia, il container può utilizzare un driver di log diverso da quello del daemon Docker, specificando un driver di log con questo parametro nella definizione del container. Per utilizzare un altro driver di log per un container, il sistema di log deve essere configurato correttamente nell'istanza di container (o su un altro server di log per le opzioni di logging in remoto).Si noti quanto segue quando si specifica una configurazione di log per i container:
-
Amazon ECS supporta un sottoinsieme dei driver di log disponibili per il daemon Docker.
-
Questo parametro richiede la versione 1.18 o successiva di Docker Remote API sull'istanza di container.
"logConfiguration": { "logDriver": "awslogs",""splunk", "awsfirelens", "options": {"string": "string" ...}, "secretOptions": [{ "name": "string", "valueFrom": "string" }] }logDriver-
▬Tipo: stringa
Valori validi:
"awslogs","splunk","awsfirelens"Obbligatorio: sì, quando viene utilizzato
logConfigurationIl driver di log da utilizzare per il container. Per impostazione predefinita, i valori validi elencati in precedenza sono driver di log con i quali l'agente del container Amazon ECS può comunicare.
I driver di log supportati sono
awslogs,splunkeawsfirelens.Per ulteriori informazioni su come utilizzare il driver di
awslogsregistro nelle definizioni delle attività per inviare i log dei contenitori a CloudWatch Logs, vedere. Invia i log di Amazon ECS a CloudWatchPer ulteriori informazioni sull'utilizzo del driver di log
awsfirelens, consultare Inviare i log di Amazon ECS a un servizio o AWSAWS Partner.Nota
Se disponi di un driver personalizzato che non è elencato, puoi eseguire il fork del progetto Amazon ECS Container Agent disponibile su GitHub
e personalizzarlo in modo che funzioni con quel driver. Ti consigliamo di inviare le richieste pull per le modifiche che desideri siano incluse. Tuttavia, attualmente non forniamo il supporto per eseguire copie modificate di questo software. Questo parametro richiede la versione 1.18 o successiva dell'API Docker Remote sull'istanza del contenitore.
options-
Tipo: mappatura stringa a stringa
Campo obbligatorio: no
La key/value mappa delle opzioni di configurazione da inviare al driver di registro.
Le opzioni che è possibile specificare dipendono dal driver di log. Alcune delle opzioni che puoi specificare quando utilizzi il
awslogsrouter per indirizzare i log ad Amazon CloudWatch includono:awslogs-create-group-
Campo obbligatorio: no
Specifica se desideri che il gruppo di log venga creato automaticamente. Se questa opzione non è specificata, viene impostata in modo predefinito su
false.Nota
La tua policy IAM deve includere l'autorizzazione
logs:CreateLogGroupprima di provare a utilizzareawslogs-create-group. awslogs-region-
Campo obbligatorio: sì
Specificate il Regione AWS driver di
awslogsregistro a cui inviare i log Docker. Puoi scegliere di inviare tutti i log dai cluster di diverse regioni a una singola regione in Logs. CloudWatch In questo modo saranno tutti visibili in un'unica posizione. In caso contrario, puoi separarli per regione per una maggiore granularità. Assicurati che il gruppo di log specificato esista nella regione definita tramite questa opzione. awslogs-group-
Campo obbligatorio: sì
Assicurati di specificare un gruppo di log a cui il driver di log
awslogsinvia i flussi di log. awslogs-stream-prefix-
Campo obbligatorio: sì
Utilizza l'opzione
awslogs-stream-prefixper associare un flusso di log al prefisso selezionato, al nome del container e all'ID dell'attività Amazon ECS al quale appartiene il container. Se specifichi un prefisso con questa opzione, il flusso di log assume il formato seguente.prefix-name/container-name/ecs-task-idSe non specifichi un prefisso con questa opzione, il flusso di log viene denominato secondo l'ID del container assegnato dal daemon Docker nell'istanza di container. Poiché è difficile ricollegare i log al container che li ha inviati con il solo ID container Docker (disponibile solo sulle istanze di container), è consigliabile specificare un prefisso con questa opzione.
Per i servizi Amazon ECS, puoi utilizzare il nome del servizio come prefisso. In questo modo puoi ricollegare i flussi di log al servizio a cui appartiene il container, al nome del container che li ha inviati e all'ID dell'attività a cui appartiene il container.
Perché i log compaiano nell'apposito riquadro della console Amazon ECS, devi specificare un prefisso per il flusso dei log.
awslogs-datetime-format-
Campo obbligatorio: no
Questa opzione definisce un modello di inizio multilinea nel formato
strftimePython. Un messaggio di log è composto da una riga corrispondente al modello e da tutte le righe successive non corrispondenti al modello. In questo modo la riga associata è il delimitatore tra i messaggi di log.Un esempio di un caso d'uso per l'utilizzo di questo formato è per l'analisi di output, ad esempio uno dump dello stack, che potrebbe altrimenti essere registrato in più voci. Il modello corretto consente di acquisirlo in una sola voce.
Per ulteriori informazioni, consulta awslogs-datetime-format
. Non è possibile configurare entrambe le opzioni
awslogs-datetime-formateawslogs-multiline-pattern.Nota
Il logging multilinea esegue un'espressione regolare per l'analisi e il confronto di tutti i messaggi di log. L'operazione potrebbe avere ripercussioni negative sulle prestazioni del logging.
awslogs-multiline-pattern-
Campo obbligatorio: no
Questa opzione definisce un modello di inizio multilinea che utilizza un'espressione regolare. Un messaggio di log è composto da una riga corrispondente al modello e da tutte le righe successive non corrispondenti al modello. In questo modo la riga associata è il delimitatore tra i messaggi di log.
Per ulteriori informazioni, consulta awslogs-multiline-pattern
. Questa opzione viene ignorata se anche
awslogs-datetime-formatè configurato.Non è possibile configurare entrambe le opzioni
awslogs-datetime-formateawslogs-multiline-pattern.Nota
Il logging multilinea esegue un'espressione regolare per l'analisi e il confronto di tutti i messaggi di log. L'operazione potrebbe avere ripercussioni negative sulle prestazioni del logging.
mode-
Campo obbligatorio: no
Valori validi:
non-blocking|blockingQuesta opzione definisce la modalità di consegna dei messaggi di log dal container al driver di log
awslogs. La modalità di distribuzione scelta influisce sulla disponibilità dell'applicazione quando il flusso di log dal container viene interrotto.Se si utilizza la
blockingmodalità e il flusso dei log verso CloudWatch viene interrotto, le chiamate provenienti dal codice contenitore su cui scrivere verso e glistdoutstream verranno bloccate.stderrDi conseguenza, il thread di registrazione dell'applicazione si bloccherà. Ciò può causare la mancata risposta dell'applicazione e la presenza di errori nel controllo d'integrità del container.Se utilizzi la modalità
non-blocking, i log del container vengono invece archiviati in un buffer intermedio in memoria configurato con l'opzionemax-buffer-size. Ciò impedisce all'applicazione di non rispondere quando non è possibile inviare i log a. CloudWatch Ti consigliamo di utilizzare questa modalità se vuoi garantire la disponibilità del servizio nonostante una certa perdita di log. Per ulteriori informazioni, consultare Preventing log loss with non-blocking mode in theawslogscontainer log driver. max-buffer-size-
Campo obbligatorio: no
Valore predefinito:
1mQuando viene utilizzata la modalità
non-blocking, l'opzione di logmax-buffer-sizecontrolla la dimensione del buffer utilizzato per l'archiviazione dei messaggi intermedi. Assicurati di specificare una dimensione del buffer adeguata in base all'applicazione in uso. Quando il buffer è pieno, non è possibile archiviare ulteriori log. I log che non possono essere archiviati vengono persi.
Per indirizzare i log utilizzando il router di log
splunk, è necessario specificaresplunk-tokenesplunk-url.Quando si utilizza il router di
awsfirelenslog per indirizzare i log verso una AWS Partner Network destinazione Servizio AWS o per l'archiviazione e l'analisi dei log, è possibile impostare l'log-driver-buffer-limitopzione per limitare il numero di eventi che vengono memorizzati nel buffer prima di essere inviati al contenitore del log router. Può aiutarti a risolvere potenziali problemi di perdita di log perché un throughput elevato potrebbe comportare l'esaurimento della memoria per il buffer all'interno di Docker. Per ulteriori informazioni, consulta Configurazione dei log di Amazon ECS per un throughput elevato.Le altre opzioni che è possibile specificare quando si utilizza
awsfirelensper indirizzare i log dipendono dalla destinazione. Quando esporti i log in Amazon Data Firehose, puoi specificare Regione AWS ilregionwith e un nome per il flusso di log con.delivery_streamQuando si esportano i log in flusso di dati Amazon Kinesis, è possibile specificare Regione AWS con
regione un nome per il flusso di dati constream.Quando esporti i log su Amazon OpenSearch Service, puoi specificare opzioni come
Name,Host(Endpoint del OpenSearch servizio senza protocollo),Port,Index,Type,Aws_authAws_regionSuppress_Type_Name, e.tlsQuando si esportano i log in Amazon S3, è possibile specificare il bucket utilizzando l'opzione
bucket. È possibile anche specificareregion,total_file_size,upload_timeouteuse_put_objectcome opzioni.Questo parametro richiede la versione 1.19 o successiva di Docker Remote API sull'istanza di container.
secretOptions-
Tipo: array di oggetti
Campo obbligatorio: no
Un oggetto che rappresenta il segreto da inviare alla configurazione di log. I segreti utilizzati nella configurazione di log possono includere un token di autenticazione, un certificato o una chiave di crittografia. Per ulteriori informazioni, consulta Trasferimento di dati sensibili a un container Amazon ECS.
name-
Tipo: stringa
Campo obbligatorio: sì
Il valore da impostare come variabile di ambiente sul container.
valueFrom-
Tipo: stringa
Campo obbligatorio: sì
Il segreto da esporre alla configurazione di log del container.
"logConfiguration": { "logDriver": "splunk", "options": { "splunk-url": "https://cloud.splunk.com:8080", "splunk-token": "...", "tag": "...", ... }, "secretOptions": [{ "name": "splunk-token", "valueFrom": "/ecs/logconfig/splunkcred" }] }
-
firelensConfiguration-
Tipo: oggetto FirelensConfiguration
Campo obbligatorio: no
La FireLens configurazione per il contenitore. Si utilizza per specificare e configurare un router di log per i log del container. Per ulteriori informazioni, consulta Inviare i log di Amazon ECS a un servizio o AWSAWS Partner.
{ "firelensConfiguration": { "type": "fluentd", "options": { "KeyName": "" } } }options-
Tipo: mappatura stringa a stringa
Campo obbligatorio: no
La key/value mappa delle opzioni da usare durante la configurazione del log router. Questo campo è facoltativo e può essere utilizzato per aggiungere ulteriori metadati, ad esempio il processo, la definizione di attività, il cluster e i dettagli dell'istanza di container all'evento di log. Se specificato, la sintassi da utilizzare è
"options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::. Per ulteriori informazioni, consulta Esempio di definizione dell'attività Amazon ECS: indirizzare i log a FireLens.amzn-s3-demo-bucket/fluent.conf|filepath"} type-
Tipo: stringa
Campo obbligatorio: sì
Il router di log da utilizzare. I valori validi sono
fluentdofluentbit.
Requisiti delle risorse
resourceRequirements-
Tipo: matrice di oggetti ResourceRequirement
Campo obbligatorio: no
Il tipo e la quantità di una risorsa da assegnare a un container. L'unica risorsa supportata è la GPU.
type-
Tipo: stringa
Campo obbligatorio: sì
Il tipo di risorsa da assegnare a un container. Il valore supportato è
GPU. value-
Tipo: stringa
Campo obbligatorio: sì
Il valore per il tipo di risorsa specificato.
Se si utilizza il tipo
GPU, il valore è il numero diGPUsfisiche che l'agente del container Amazon ECS prenota per il container. Il numero di GPUs contenitori riservati a tutti i contenitori di un'attività non può superare il numero di quelli disponibili GPUs sull'istanza del contenitore su cui viene avviata l'attività.GPUs non sono disponibili per le attività in esecuzione su Fargate.
Timeout container
startTimeout-
Tipo: integer
Campo obbligatorio: no
Valori di esempio:
120Tempo di attesa (in secondi) prima di rinunciare a risolvere le dipendenze per un container.
Ad esempio, vengono specificati due container in una definizione di attività:
containerAha una dipendenza sulcontainerBquando raggiunge lo statoCOMPLETE,SUCCESSoHEALTHY. Se percontainerBè specificato un valorestartTimeoute non raggiunge lo stato desiderato entro tale periodo di tempo, alloracontainerAnon viene avviato.Nota
Se un container non soddisfa un vincolo di dipendenza o si verifica un timeout prima di rispondere al vincolo, Amazon ECS non avanza i container dipendenti allo stato successivo.
Il valore massimo è 600 secondi (10 minuti).
stopTimeout-
Tipo: integer
Campo obbligatorio: no
Valori di esempio:
120Durata (in secondi) di attesa prima che sia forzata la chiusura se il container non si arresta da solo normalmente.
Se il parametro non è specificato, viene utilizzato il valore predefinito di 30 secondi. Il valore massimo è di 86.400 secondi (24 ore).
Dipendenze per i container
dependsOn-
Tipo: matrice di oggetti ContainerDependency
Campo obbligatorio: no
Le dipendenze definite per l'avvio e la chiusura dei container. Un contenitore può contenere più dipendenze. Se una dipendenza è definita per l'avvio del container, per la sua chiusura è invertita. Per un esempio, consulta Dipendenze per i container.
Nota
Se un container non soddisfa un vincolo di dipendenza o si verifica un timeout prima di rispondere al vincolo, Amazon ECS non avanza i container dipendenti allo stato successivo.
Questo parametro richiede che l'attività o il servizio utilizzi la versione della piattaforma
1.3.0o successive (Linux) o1.0.0(Windows)."dependsOn": [ { "containerName": "string", "condition": "string" } ]containerName-
Tipo: stringa
Campo obbligatorio: sì
Il nome del container che deve soddisfare la condizione specificata.
condition-
Tipo: stringa
Campo obbligatorio: sì
La condizione di dipendenza del container. Di seguito sono elencate le condizioni disponibili e il loro comportamento:
-
START: questa condizione emula il comportamento dei collegamenti e dei volumi. La condizione convalida l'avvio di un container dipendente prima di consentire l'avvio di altri container. -
COMPLETE: questa condizione verifica l'esecuzione fino al completamento (uscita) di un container dipendente prima di consentire l'avvio di altri container. Può rivelarsi utile per container non essenziali che eseguono uno script e quindi escono. Questa condizione non può essere impostata su un container essenziale. -
SUCCESS: questa condizione è uguale aCOMPLETE, ma richiede anche che il container esca con statozero. Questa condizione non può essere impostata su un container essenziale. -
HEALTHY: questa condizione verifica che il container dipendente superi il controllo dell'integrità del container prima di consentire l'avvio di altri container. Ciò richiede che per il container dipendente siano configurati i controlli dell'integrità nella definizione di attività. Questa condizione è confermata solo all'avvio dell'attività.
-
Controlli di sistema
systemControls-
Tipo: oggetto SystemControl
Campo obbligatorio: no
Un elenco di parametri kernel associati a un namespace da impostare nel container. Questo parametro è mappato a
Sysctlsnella creazione container del comando del docker e l'opzione--sysctlper docker run. Ad esempio, puoi configurare l'impostazionenet.ipv4.tcp_keepalive_timeper mantenere le connessioni di lunga durata.Non è consigliabile specificare i parametri
systemControlscorrelati alla rete per più container in un'unica attività che utilizza anche la modalità di reteawsvpcohost. Ciò comporta i seguenti svantaggi:-
Se sono stati impostati
systemControlsper qualsiasi container, si applicano a tutti i container nell'attività. Se sono stati impostati diversisystemControlsper più container in un'unica attività, il container che viene avviato per ultimo determina qualesystemControlsdiventa effettivo.
Se stai impostando un namespace della risorsa IPC per utilizzare i container nell'attività, ai controlli di sistema si applicano le seguenti condizioni. Per ulteriori informazioni, consulta Modalità IPC.
-
Per le attività che utilizzano la modalità
hostIPC, i valorisystemControlsdel namespace IPC non sono supportati. -
Per le attività che utilizzano la modalità IPC
task, i valori disystemControlsdel namespace IPC si applicano a tutti i container all'interno di un'attività.
"systemControls": [ { "namespace":"string", "value":"string" } ]namespace-
▬Tipo: stringa
Campo obbligatorio: no
Il parametro kernel associato a un namespace per il quale impostare un parametro
value.Valori del namespace IPC validi:
"kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced"eSysctlsche iniziano con"fs.mqueue.*"Valori dello namespace di rete validi:
Sysctlsche iniziano con"net.*". In Fargate, vengono accettati solo i namespaceSysctlsesistenti all'interno del container.Tutti questi valori sono supportati da Fargate.
value-
▬Tipo: stringa
Campo obbligatorio: no
Il valore per il parametro kernel associato a un namespace specificato in
namespace.
-
Interactive
interactive-
Tipo: Booleano
Campo obbligatorio: no
Quando questo parametro è
true, puoi implementare le applicazioni containerizzate che richiedono l'allocazione distdinotty. Questo parametro è mappato aOpenStdinnella creazione container del comando del docker e l'opzione--interactiveper docker run.Il valore predefinito è
false.
Pseudoterminale
pseudoTerminal-
Tipo: Booleano
Campo obbligatorio: no
Quando il parametro è
true, è allocato un TTY. Questo parametro è mappato aTtynella creazione container del comando del docker e l'opzione--ttyper docker run.Il valore predefinito è
false.
Parametri Linux
linuxParameters-
Tipo: oggetto LinuxParameters
Campo obbligatorio: no
Le modifiche specifiche di Linux che vengono applicate al container, ad esempio le funzionalità kernel Linux.
capabilities-
Tipo: oggetto KernelCapabilities
Campo obbligatorio: no
La funzionalità di Linux per il container che vengono aggiunte alla configurazione predefinita fornita da Docker o eliminate da questa.
devices-
Tipo: matrice di oggetti Device
Campo obbligatorio: no
Qualsiasi dispositivi host da esporre nel container. Questo parametro è mappato a
Devicesnella creazione container del comando del docker e l'opzione--deviceper docker run. initProcessEnabled-
Tipo: Booleano
Campo obbligatorio: no
Esegui un processo
initnel container che inoltra segnali e raccoglie i processi. Questo parametro è mappato all'opzione--initsu docker run. maxSwap-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: integer
Campo obbligatorio: no
La quantità totale di memoria di swap (in MiB) che un container può utilizzare. Questo parametro viene convertito nell'opzione
--memory-swapin docker run dove il valore sarebbe la somma della memoria del container più il valoremaxSwap. swappiness-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: integer
Campo obbligatorio: no
In questo modo è possibile ottimizzare il comportamento swappiness di memoria di un container. Un valore
swappinessdelle cause0per cui lo swap non avviene a meno che non sia assolutamente necessario. Un valoreswappinessdi100produrrà lo swap delle pagine in modo molto aggressivo. I valori validi sono numeri interi compresi tra0e100. Se il parametroswappinessnon è specificato, viene utilizzato un valore predefinito60. Se non viene specificato un valore permaxSwap, questo parametro verrà ignorato. Questo parametro è mappato all'opzione--memory-swappinesssu docker run. -
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: integer
Campo obbligatorio: no
Le dimensioni (in MiB) del volume
/dev/shm. Questo parametro è mappato all'opzione--shm-sizesu docker run. tmpfs-
Nota
Questo parametro non è supportato per le attività eseguite su Istanze gestite Amazon ECS.
Tipo: matrice di oggetti Tmpfs
Campo obbligatorio: no
Percorso del container, opzioni di montaggio e dimensioni (in MiB) del montaggio del volume tmpfs. Questo parametro è mappato all'opzione
--tmpfssu docker run.