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âmetrosourceVolume
do objetomountPoints
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 umhost
.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 comoshared
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 sescope
forshared
. Sescope
fortask
, 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 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
.