Especificar uma montagem associada em uma definição de tarefa do Amazon ECS
Em tarefas do Amazon ECS hospedadas em instâncias do Fargate ou do Amazon EC2, o trecho JSON de definição de tarefa a seguir mostra a sintaxe dos objetos volumes
, mountPoints
e ephemeralStorage
para uma definição de tarefa.
{ "family": "", ... "containerDefinitions" : [ { "mountPoints" : [ { "containerPath" : "
/path/to/mount_volume
", "sourceVolume" : "string
" } ], "name" : "string
" } ], ... "volumes" : [ { "name" : "string
" } ], "ephemeralStorage": { "sizeInGiB":integer
} }
Para tarefas do Amazon ECS que são hospedadas em instâncias do Amazon EC2, é possível utilizar o parâmetro host
e um sourcePath
ao especificar detalhes do volume da tarefa. Quando especificado, ele associa a montagem bind ao ciclo de vida da tarefa no lugar do contêiner.
"volumes" : [ { "host" : { "sourcePath" : "
string
" }, "name" : "string
" } ]
A seguir, é descrito em mais detalhes cada parâmetro de definição de tarefa.
name
-
Tipo: String
Obrigatório: Não
O nome do volume. São permitidos até 255 letras (caixa alta e baixa), números, hífens (
-
) e sublinhados (_
). Esse nome é referenciado no parâmetrosourceVolume
do objetomountPoints
de definição do contêiner. host
-
Obrigatório: Não
O parâmetro
host
é usado para vincular o ciclo de vida da montagem bind à instância host do Amazon EC2, em vez da tarefa, e onde ela está armazenada. Caso o parâmetrohost
esteja vazio, o daemon do Docker atribui um caminho host para o volume de dados, mas os dados não têm garantia de persistir depois que os contêineres associados deixarem de ser executados.Os contêineres do Windows podem montar diretórios inteiros na mesma unidade como
$env:ProgramData
.nota
O parâmetro
sourcePath
só é compatível ao usar tarefas hospedadas em instâncias do Amazon EC2.sourcePath
-
Tipo: String
Obrigatório: Não
Quando o parâmetro
host
é usado, especifique umsourcePath
para declarar o caminho na instância host do Amazon EC2 que é apresentada ao contêiner. Caso esse parâmetro esteja vazio, o daemon do Docker atribui um caminho host para você. Caso o parâmetrohost
contenha um local de arquivosourcePath
, o volume de dados persistirá no local especificado na instância host do Amazon EC2 até você excluí-lo manualmente. Caso o valorsourcePath
não exista na instância host do Amazon EC2, o daemon do Docker o criará. Caso o local exista, o conteúdo da pasta do caminho de origem é exportado.
mountPoints
-
Tipo: Matriz de objeto
Obrigatório: Não
Os pontos de montagem dos volumes de dados no contêiner. Esse parâmetro é mapeado em
Volumes
na API create-container do Docker na opção--volume
de execução do docker.Os contêineres do Windows podem montar diretórios inteiros na mesma unidade como
$env:ProgramData
. Os contêineres do Windows não podem montar diretórios em uma unidade diferente, e os pontos de montagem não podem ser usados entre unidades. Você deve especificar pontos de montagem para anexar um volume do Amazon EBS diretamente a uma tarefa do Amazon ECS.sourceVolume
-
Tipo: string
Exigido: Sim, quando
mountPoints
são usadosO nome do volume a ser montado.
containerPath
-
Tipo: string
Exigido: Sim, quando
mountPoints
são usadosO caminho no contêiner onde o volume será montado.
readOnly
-
Tipo: booliano
Obrigatório: Não
Caso o valor seja
true
, o contêiner tem acesso somente leitura ao volume. Caso esse valor sejafalse
, o contêiner pode gravar no volume. O valor padrão éfalse
.Para tarefas executadas em instâncias do EC2 que executam o sistema operacional Windows, deixe o valor como o padrão de
false
.
ephemeralStorage
-
Tipo: Objeto
Obrigatório: Não
A quantidade de armazenamento temporário a ser alocada para a tarefa. Esse parâmetro é usado para expandir a quantidade total de armazenamento temporário, além da quantidade padrão, para tarefas hospedadas no AWS Fargate, usando a versão
1.4.0
ou posterior (Linux) ou1.0.0
ou posterior (Windows) da plataforma.É possível usar a CLI do Copilot, o CloudFormation, o AWS SDK ou a CLI para especificar o armazenamento temporário para uma montagem bind.