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âmetrosourceVolumedo objetomountPointsde 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 umhost.scope-
Tipo: String
Valores válidos:
task|sharedObrigató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
tasksão provisionados automaticamente quando a tarefa é iniciada e destruídos quando a tarefa é interrompida. Volumes do Docker delimitados comosharedsão mantidos após a interrupção da tarefa. autoprovision-
Tipo: booliano
Valor padrão:
falseObrigató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 sescopeforshared. Sescopefortask, 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 lspara 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
DriverOptsna 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
Volumesna API create-container do Docker na opção--volumede 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
mountPointssão usadosO nome do volume a ser montado.
containerPath-
Tipo: String
Exigido: Sim, quando
mountPointssã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.