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
volumes
de la définition de tâche, définissez un volume de données avec les valeursname
etDockerVolumeConfiguration
. 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 pilotelocal
intégré."volumes": [ { "name": "
scratch
", "dockerVolumeConfiguration" : { "scope": "task
", "driver": "local
", "labels": { "scratch
": "space
" } } } ] -
Dans la section
containerDefinitions
, définissez un conteneur avec des valeursmountPoints
qui font référence au nom du volume défini et la valeurcontainerPath
sur 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
volumes
de la définition de tâche, définissez un volume de données avec les valeursname
etDockerVolumeConfiguration
. Dans cet exemple, spécifiez une portéeshared
pour que le volume persiste, définissez autoprovision surtrue
. C'est ainsi que le volume est créé pour être utilisé. Ensuite, utilisez également le pilotelocal
inté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 valeursmountPoints
qui font référence au nom du volume défini et la valeurcontainerPath
sur 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
volumes
de la définition de tâche, définissez un volume de données avec les valeursname
etDockerVolumeConfiguration
. Dans cet exemple, spécifiez une portéetask
de telle sorte que le volume soit démonté une fois la tâche terminée. Utilisez le pilotelocal
et configurez ledriverOpts
avec letype
,device
et les optionso
en conséquence. RemplacezNFS_SERVER
par 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 valeursmountPoints
qui font référence au nom du volume défini et la valeurcontainerPath
sur laquelle monter le volume sur le conteneur."containerDefinitions": [ { "name": "
container-1
", "mountPoints": [ { "sourceVolume": "NFS
", "containerPath": "/var/nfsmount
" } ] } ]