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.
Exemples de volumes Docker pour Amazon ECS
Les exemples suivants montrent comment fournir un stockage éphémère pour un conteneur et comment fournir un volume partagé pour plusieurs conteneurs, et comment fournir un stockage persistant NFS pour un conteneur.
Pour fournir un stockage éphémère à un conteneur à l’aide d’un volume Docker
Dans cet exemple, un conteneur utilise un volume de données vide qui est éliminé une fois la tâche terminée. Un exemple d'utilisation est que vous pourriez avoir un conteneur qui doit accéder à un emplacement de stockage de fichiers de travail pendant une tâche. Cette tâche peut être réalisée à l'aide d'un volume Docker.
-
Dans la section
volumesde la définition de tâche, définissez un volume de données avec les valeursnameetDockerVolumeConfiguration. Dans cet exemple, nous spécifions la portée sous la formetask. Le volume est donc supprimé après l'arrêt de la tâche et il utilise le pilotelocalintégré."volumes": [ { "name": "scratch", "dockerVolumeConfiguration" : { "scope": "task", "driver": "local", "labels": { "scratch": "space" } } } ] -
Dans la section
containerDefinitions, définissez un conteneur avec des valeursmountPointsqui font référence au nom du volume défini et la valeurcontainerPathsur laquelle monter le volume sur le conteneur."containerDefinitions": [ { "name": "container-1", "mountPoints": [ { "sourceVolume": "scratch", "containerPath": "/var/scratch" } ] } ]
Pour fournir un stockage persistant à plusieurs conteneurs à l’aide d’un volume Docker
Dans cet exemple, vous voulez un volume partagé qui sera utilisé par plusieurs conteneurs et vous souhaitez qu'il persiste après l'arrêt des tâches qui l'utilisent. Le pilote local intégré est en cours d'utilisation. Ainsi, le volume est toujours lié au cycle de vie de l'instance de conteneur.
-
Dans la section
volumesde la définition de tâche, définissez un volume de données avec les valeursnameetDockerVolumeConfiguration. Dans cet exemple, spécifiez une portéesharedpour que le volume persiste, définissez autoprovision surtrue. C'est ainsi que le volume est créé pour être utilisé. Ensuite, utilisez également le pilotelocalintégré."volumes": [ { "name": "database", "dockerVolumeConfiguration" : { "scope": "shared", "autoprovision": true, "driver": "local", "labels": { "database": "database_name" } } } ] -
Dans la section
containerDefinitions, définissez un conteneur avec des valeursmountPointsqui font référence au nom du volume défini et la valeurcontainerPathsur laquelle monter le volume sur le conteneur."containerDefinitions": [ { "name": "container-1", "mountPoints": [ { "sourceVolume": "database", "containerPath": "/var/database" } ] }, { "name": "container-2", "mountPoints": [ { "sourceVolume": "database", "containerPath": "/var/database" } ] } ]
Pour fournir un stockage permanent NFS pour un conteneur à l'aide d'un volume Docker
Dans cet exemple, un conteneur utilise un volume de données NFS qui est automatiquement monté lorsque la tâche démarre et démonté lorsque la tâche s'arrête. Cela utilise le pilote local intégré Docker. Un exemple d'utilisation est que vous pourriez avoir un stockage NFS local et que vous devez y accéder à l'aide d'une tâche ECS Anywhere. Cela peut être réalisé à l'aide d'un volume Docker avec option de pilote NFS.
-
Dans la section
volumesde la définition de tâche, définissez un volume de données avec les valeursnameetDockerVolumeConfiguration. Dans cet exemple, spécifiez une portéetaskde telle sorte que le volume soit démonté une fois la tâche terminée. Utilisez le pilotelocalet configurez ledriverOptsavec letype,deviceet les optionsoen conséquence. RemplacezNFS_SERVERpar le point de terminaison du serveur NFS."volumes": [ { "name": "NFS", "dockerVolumeConfiguration" : { "scope": "task", "driver": "local", "driverOpts": { "type": "nfs", "device": "$NFS_SERVER:/mnt/nfs", "o": "addr=$NFS_SERVER" } } } ] -
Dans la section
containerDefinitions, définissez un conteneur avec des valeursmountPointsqui font référence au nom du volume défini et la valeurcontainerPathsur laquelle monter le volume sur le conteneur."containerDefinitions": [ { "name": "container-1", "mountPoints": [ { "sourceVolume": "NFS", "containerPath": "/var/nfsmount" } ] } ]