Usa i bind mount con Amazon ECS - Amazon Elastic Container Service

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 nella documentazione Docker.

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'ephemeralStorageattività.

  • 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 direttiva VOLUME è lo stesso presente nel containerPath specificato nella definizione di attività, i dati nel percorso della direttiva VOLUME vengono copiati sul volume di dati. Nell'esempio Dockerfile seguente, un file denominato examplefile 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 come node.

    FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN yum install -y shadow-utils && yum clean all RUN useradd node RUN mkdir -p /var/log/exported && chown node:node /var/log/exported RUN touch /var/log/exported/examplefile USER node VOLUME ["/var/log/exported"]
  • Per le attività ospitate su EC2 istanze Amazon, quando un sourcePath valore host 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'agente ECS_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 valore sourcePath per il montaggio vincolato.