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à.
Usa i bind mount con Amazon ECS
Con bind mount, un file o una directory su un host, ad esempio un'EC2istanza Amazon, viene montato in un contenitore. I bind mount sono supportati per le attività ospitate su istanze Fargate e Amazon. EC2 I bind mount sono legati al ciclo di vita del contenitore che li utilizza. Una volta arrestati tutti i container che utilizzano un montaggio vincolato, ad esempio quando viene arrestata un'attività, i dati vengono rimossi. Per le attività ospitate su EC2 istanze Amazon, i dati possono essere collegati al ciclo di vita dell'EC2istanza Amazon host specificando un host
sourcePath
valore opzionale nella definizione dell'attività. Per ulteriori informazioni, consulta Utilizzo di montaggi vincolati
I seguenti sono casi d'uso comune dei montaggi vincolati.
-
Per fornire un volume di dati vuoto da montare in uno o più container.
-
Per fornire un volume di dati host in uno o più container.
-
Per condividere un volume di dati da un container di origine con altri container nello stesso processo.
-
Per esporre un percorso e il relativo contenuto da un Dockerfile a uno o più container.
Considerazioni su quando utilizzare i montaggi vincolati
Quando usi i montaggi vincolati, tieni presente le seguenti considerazioni.
-
Per impostazione predefinita, le attività ospitate AWS Fargate utilizzando una versione della piattaforma
1.4.0
o successiva (Linux)1.0.0
o successiva (Windows) ricevono un minimo di 20 GiB di storage temporaneo per i bind mount. È possibile aumentare la quantità totale di storage temporaneo fino a un massimo di 200 GiB specificando il parametro nella definizione dell'ephemeralStorage
attività. -
Per esporre i file da un Dockerfile a un volume di dati quando viene eseguita un'attività, il piano ECS dati di Amazon cerca una direttiva.
VOLUME
Se il percorso assoluto specificato nella direttivaVOLUME
è lo stesso presente nelcontainerPath
specificato nella definizione di attività, i dati nel percorso della direttivaVOLUME
vengono copiati sul volume di dati. Nell'esempio Dockerfile seguente, un file denominatoexamplefile
nella directory/var/log/exported
viene scritto sull'host e quindi montato all'interno del container.FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN mkdir -p
/var/log/exported
RUN touch/var/log/exported/examplefile
VOLUME ["/var/log/exported
"]Di default, le autorizzazioni dei volumi sono impostate su
0755
e il proprietario èroot
. Queste autorizzazioni possono essere personalizzate nel Dockerfile. L'esempio seguente definisce il proprietario della directory comenode
.FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN yum install -y shadow-utils && yum clean all RUN useradd
node
RUN mkdir -p /var/log/exported && chownnode
:node
/var/log/exported RUN touch /var/log/exported/examplefile USERnode
VOLUME ["/var/log/exported"] -
Per le attività ospitate su EC2 istanze Amazon, quando un
sourcePath
valorehost
and non è specificato, il demone Docker gestisce il bind mount per te. Quando nessun contenitore fa riferimento a questo bind mount, il servizio Amazon ECS Container Agent Task Cleanup alla fine lo elimina. Per impostazione predefinita, ciò avviene tre ore dopo la chiusura del container. Tuttavia, puoi configurare questa durata con la variabile dell'agenteECS_ENGINE_TASK_CLEANUP_WAIT_DURATION
. Per ulteriori informazioni, consulta Configurazione di Amazon ECS Container Agent. Se è necessario che questi dati vengano conservati oltre il ciclo di vita del container, specifica un valoresourcePath
per il montaggio vincolato.