Spécifier un volume Docker dans une définition de tâche Amazon ECS - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Spécifier un volume Docker dans une définition de tâche Amazon ECS

Avant que vos conteneurs puissent utiliser des volumes de données, vous devez spécifier les configurations du volume et du point de montage dans votre définition de tâche. Cette section décrit la configuration du volume pour un conteneur. Pour les tâches qui utilisent un volume Docker, spécifiez une propriété dockerVolumeConfiguration. Pour les tâches qui utilisent un volume hôte de montage lié, spécifiez un host et éventuellement un sourcePath.

La définition de tâche JSON indiquée ci-dessous illustre la syntaxe des objets volumes et mountPoints pour un conteneur :

{ "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

Type : chaîne

Obligatoire : non

Nom du volume. Jusqu'à 255 lettres (majuscules et minuscules), chiffres, tirets () et traits de soulignement (-) sont autorisés. _ Ce nom est référencé dans le sourceVolume paramètre de l'mountPointsobjet de définition du conteneur.

dockerVolumeConfiguration

Type : DockerVolumeConfigurationObjet

Obligatoire : non

Ce paramètre est spécifié lorsque vous utilisez des volumes Docker. Les volumes Docker ne sont pris en charge que lors de l'exécution de tâches sur des EC2 instances. Les conteneurs Windows ne prennent en charge que l'utilisation du local pilote. Pour utiliser des montages liés, spécifiez plutôt un paramètre host.

scope

Type : String

Valeurs valides : task | shared

Obligatoire : non

Portée du volume Docker, qui détermine son cycle de vie. Les volumes Docker destinés à un élément task sont automatiquement mis en service lorsque la tâche commence, et détruits lorsque la tâche s'arrête. Les volumes Docker définis comme shared ne sont pas supprimés lorsque la tâche s'arrête.

autoprovision

Type : booléen

Valeur par défaut : false

Obligatoire : non

Si cette valeur est true, le volume Docker est créé s'il n'existe pas déjà. Ce champ n'est utilisé que si scope c'est le casshared. Si tel scope est le castask, ce paramètre doit être omis.

driver

Type : chaîne

Obligatoire : non

Pilote de volume Docker à utiliser. La valeur du pilote doit correspondre au nom du pilote fourni par Docker car ce nom est utilisé pour le placement des tâches. Si le pilote a été installé à l'aide de la CLI du plugin Docker, utilisez-le docker plugin ls pour récupérer le nom du pilote depuis votre instance de conteneur. Si le pilote a été installé à l'aide d'une autre méthode, utilisez Docker plugin discovery pour récupérer le nom du pilote.

driverOpts

Type : chaîne

Obligatoire : non

Une carte des options spécifiques au pilote Docker à utiliser. Ce paramètre correspond DriverOpts à la section Créer un volume de Docker.

labels

Type : chaîne

Obligatoire : non

Métadonnées personnalisées à ajouter à votre volume Docker.

mountPoints

Type : tableau d'objets

Obligatoire : non

Les points de montage des volumes de données de votre conteneur. Ce paramètre correspond Volumes à l'API Docker create-container et --volume à l'option docker run.

Les conteneurs Windows peuvent monter des répertoires entiers sur le même lecteur que $env:ProgramData. Les conteneurs Windows ne peuvent pas monter de répertoires sur un autre lecteur, et les points de montage ne peuvent pas être utilisés sur plusieurs lecteurs. Vous devez spécifier des points de montage pour associer un volume Amazon EBS directement à une tâche Amazon ECS.

sourceVolume

Type : String

Obligatoire : oui, lorsque des objets mountPoints sont utilisés

Nom du volume à monter.

containerPath

Type : String

Obligatoire : oui, lorsque des objets mountPoints sont utilisés

Le chemin dans le conteneur où le volume sera monté.

readOnly

Type : booléen

Obligatoire : non

Si cette valeur est true, le conteneur ne peut accéder au volume qu'en lecture. Si cette valeur est false, le conteneur peut écrire sur le volume. La valeur par défaut est false.

Pour les tâches exécutées sur EC2 des instances exécutant le système d'exploitation Windows, laissez la valeur par défaut defalse.