Especificar um volume do Docker em uma definição de tarefa do Amazon ECS - Amazon Elastic Container Service

Especificar um volume do Docker em uma definição de tarefa do Amazon ECS

Antes de seus contêineres poderem usar volumes de dados, você deve especificar as configurações de volume e ponto de montagem em sua definição de tarefa. Esta seção descreve a configuração do volume de um contêiner. Para tarefas que usam um volume do Docker, especifique um dockerVolumeConfiguration. Para tarefas que usam um volume de host de montagem bind, especifique um host e sourcePath opcional.

O JSON de definição de tarefa a seguir mostra a sintaxe para os objetos volumes e mountPoints de um contêiner.

{ "containerDefinitions": [ { "mountPoints": [ { "sourceVolume": "string", "containerPath": "/path/to/mount_volume", "readOnly": boolean } ] } ], "volumes": [ { "name": "string", "dockerVolumeConfiguration": { "scope": "string", "autoprovision": boolean, "driver": "string", "driverOpts": { "key": "value" }, "labels": { "key": "value" } } } ] }
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âmetro sourceVolume do objeto mountPoints de definição do contêiner.

dockerVolumeConfiguration

Tipo: objeto DockerVolumeConfiguration

Obrigatório: Não

Esse parâmetro é especificado ao usar volumes do Docker. Os volumes do Docker só são compatíveis ao executar tarefas em instâncias do EC2. Os contêineres do Windows só são compatíveis com o uso do driver local. Para usar montagens bind, em vez disso, especifique um host.

scope

Tipo: string

Valores válidos: task | shared

Obrigatório: Não

O escopo para o volume do Docker, que determina o ciclo de vida. Os volumes do Docker que são delimitados para uma task são provisionados automaticamente quando a tarefa é iniciada e destruídos quando a tarefa é interrompida. Volumes do Docker delimitados como shared são mantidos após a interrupção da tarefa.

autoprovision

Tipo: booliano

Valor padrão: false

Obrigatório: Não

Se o valor for true, o volume de Docker será criado se ele ainda não existir. Esse campo só será usado se scope for shared. Se scope for task, esse parâmetro deverá ser omitido.

driver

Tipo: String

Obrigatório: Não

O driver do volume do Docker a ser usado. O valor do driver deve corresponder ao nome do driver fornecido pelo Docker porque esse nome é usado no posicionamento de tarefas. Se o driver foi instalado usando a CLI de plug-in do Docker, use docker plugin ls para recuperar o nome do driver na instância de contêiner. Se o driver foi instalado usando outro método, use a descoberta de plug-in do Docker para recuperar o nome do driver.

driverOpts

Tipo: String

Obrigatório: Não

Um mapa de opções específicas do driver do Docker pelas quais passar. Esse parâmetro é mapeado para DriverOpts na seção Criar um volume da API remota do Docker.

labels

Tipo: String

Obrigatório: Não

Metadados personalizados para adicionar ao volume do Docker.

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 usados

O nome do volume a ser montado.

containerPath

Tipo: string

Exigido: Sim, quando mountPoints são usados

O 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 seja false, 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.