Utiliser des supports de stockage dans les Applications de Conteneur Azure

Une application conteneur a accès à différents types de stockage. Une application unique peut tirer parti de plusieurs types de stockage si nécessaire.

Remarque

Évitez d'utiliser des caractères spéciaux dans les noms de volumes afin de prévenir les échecs de déploiement. Par exemple, un volume nommé credentials.json contient un caractère spécial (.) qui entraîne une erreur de déploiement.

Type de stockage Descriptif Persistance Exemple d’utilisation
Stockage à l'échelle du conteneur Stockage éphémère disponible pour un conteneur en cours d’exécution Les données sont disponibles jusqu’à l’arrêt du conteneur Écriture d’un cache d’application local.
Stockage délimité au réplica Stockage éphémère pour le partage de fichiers entre les conteneurs d’un même réplica Les données sont disponibles jusqu’à l’arrêt du réplica Le conteneur d’application principal qui écrit des fichiers journaux traités par un conteneur side-car.
Azure Files Stockage permanent Les données sont conservées dans Azure Files Écriture de fichiers dans un partage de fichiers pour rendre les données accessibles par d’autres systèmes.

Remarque

Azure Container Apps ne prend pas en charge le montage de partages de fichiers à partir de Azure NetApp Files ou de Stockage Blob Azure.

Stockage éphémère

Une application conteneur peut lire et écrire des données temporaires dans un stockage éphémère. L’étendue du stockage éphémère peut être définie à l’échelle d’un conteneur ou d’un réplica. La quantité totale de stockage à l’échelle du conteneur et du réplica disponible pour chaque réplica dépend du nombre total de processeurs virtuels alloués au réplica.

Processeurs virtuels Total du stockage éphémère
0,25 ou moins 1 Gio
0,5 ou moins 2 Gio
1 ou moins 4 Gio
Plus de 1 8 Gio

Stockage à l’échelle du conteneur

Un conteneur peut écrire dans son propre système de fichiers.

Le stockage du système de fichiers conteneur présente les caractéristiques suivantes :

  • Le stockage est temporaire et disparaît lorsque le conteneur s’arrête ou redémarre.
  • Seuls les processus en cours d’exécution dans le conteneur actuel peuvent voir les fichiers écrits dans ce stockage.

Stockage à l’échelle du réplica

Vous pouvez monter un volume temporaire éphémère équivalent à EmptyDir (répertoire vide) dans Kubernetes. L’étendue de ce stockage est définie à l’échelle d’un seul réplica. Utilisez un volume EmptyDir pour partager des données entre les conteneurs d’un même réplica.

Le stockage à l’échelle d’un réplica présente les caractéristiques suivantes :

  • Les fichiers persistent pendant la durée de vie du réplica.
    • Si un conteneur redémarre dans un réplica, les fichiers situés dans le volume restent.
  • Tous les conteneurs init ou conteneurs d’application du réplica peuvent monter le même volume.
  • Un conteneur peut monter plusieurs volumes EmptyDir.

Pour configurer un stockage à l’échelle du réplica, définissez d’abord un volume EmptyDir dans la révision. Définissez ensuite un montage de volume dans un ou plusieurs conteneurs dans la révision.

Prérequis

Condition requise Les instructions
compte Azure Si vous n’en avez pas, créez gratuitement un compte.
environnement Azure Container Apps Créez un environnement d’applications conteneur.

Paramétrage

Lorsque vous configurez un stockage à portée de réplica à l’aide de l’Azure CLI, vous devez utiliser une définition YAML pour créer ou mettre à jour votre application conteneur.

  1. Pour mettre à jour une application conteneur existante pour utiliser le stockage à portée de réplique, exportez la spécification de votre application vers un fichier YAML nommé app.yaml.

    az containerapp show -n <APP_NAME> -g <RESOURCE_GROUP_NAME> -o yaml > app.yaml
    
  2. Apportez les modifications suivantes à la spécification de votre application conteneur.

    • Ajoutez un tableau volumes à la section template de votre définition d’application conteneur et définissez un volume. Si vous disposez déjà d’un tableau volumes, ajoutez un nouveau volume au tableau.
      • name correspond à un identificateur pour le volume.
      • Utilisez EmptyDir comme storageType.
    • Pour chaque conteneur du modèle où vous souhaitez monter le volume, définissez un montage de volume dans le tableau volumeMounts de la définition de conteneur.
      • volumeName correspond au nom défini dans le tableau volumes.
      • mountPath correspond au chemin dans le conteneur où monter le volume.
    properties:
      managedEnvironmentId: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.App/managedEnvironments/<ENVIRONMENT_NAME>
      configuration:
        activeRevisionsMode: Single
      template:
        containers:
        - image: <IMAGE_NAME1>
          name: my-container-1
          volumeMounts:
          - mountPath: /myempty
            volumeName: myempty
        - image: <IMAGE_NAME_2>
          name: my-container-2
          volumeMounts:
          - mountPath: /myempty
            volumeName: myempty
        volumes:
        - name: myempty
          storageType: EmptyDir
    
  3. Mettez à jour votre application conteneur à l’aide du fichier YAML.

    az containerapp update --name <APP_NAME> --resource-group <RESOURCE_GROUP_NAME> \
        --yaml app.yaml
    

Pour obtenir un exemple complet, consultez la spécification YAML.

Pour créer un volume à l’échelle d’un réplica et le monter dans un conteneur, apportez les changements suivants à la ressource d’applications conteneur dans un modèle ARM :

  • Ajoutez un tableau volumes à la section template de votre définition d’application conteneur et définissez un volume. Si vous disposez déjà d’un tableau volumes, ajoutez un nouveau volume au tableau.
    • name correspond à un identificateur pour le volume.
    • Utilisez EmptyDir comme storageType.
  • Pour chaque conteneur du modèle où vous souhaitez monter le volume, définissez un montage de volume dans le tableau volumeMounts de la définition de conteneur.
    • volumeName correspond au nom défini dans le tableau volumes.
    • mountPath correspond au chemin dans le conteneur où monter le volume.

Exemple d’extrait de modèle ARM :

{
  "apiVersion": "2022-03-01",
  "type": "Microsoft.App/containerApps",
  "name": "[parameters('containerappName')]",
  "location": "[parameters('location')]",
  "properties": {

    ...

    "template": {
      "revisionSuffix": "myrevision",
      "containers": [
        {
          "name": "main",
          "image": "[parameters('container_image')]",
          "resources": {
            "cpu": 0.5,
            "memory": "1Gi"
          },
          "volumeMounts": [
            {
              "mountPath": "/myempty",
              "volumeName": "myempty"
            }
          ]
        },
        {
          "name": "sidecar",
          "image": "[parameters('sidecar_image')]",
          "resources": {
            "cpu": 0.5,
            "memory": "1Gi"
          },
          "volumeMounts": [
            {
              "mountPath": "/myempty",
              "volumeName": "myempty"
            }
          ]
        }
      ],
      "scale": {
        "minReplicas": 1,
        "maxReplicas": 3
      },
      "volumes": [
        {
          "name": "myempty",
          "storageType": "EmptyDir"
        }
      ]
    }
  }
}

Consultez la spécification de l’API de modèle ARM pour obtenir un exemple complet.

Pour créer un volume à portée de réplica et le monter dans un conteneur, déployez une nouvelle révision de votre conteneur d'application à l'aide de Azure Portal.

  1. Dans le portail Azure, accédez à votre application conteneur.

  2. Sélectionnez Gestion des révisions dans le menu de gauche.

  3. Sélectionnez Créer une révision.

  4. Sélectionnez le conteneur où vous souhaitez monter le volume.

  5. Dans le volet Modifier un conteneur, sélectionnez l’onglet Montages de volume.

  6. Sous la section stockage éphémère , créez un volume avec les informations suivantes :

    • Nom du volume : nom du volume éphémère.
    • Chemin d’accès du montage : chemin d’accès absolu dans le conteneur pour monter le volume.
  7. Sélectionnez Enregistrer pour enregistrer les modifications et quitter le volet contextuel.

  8. Sélectionnez Créer pour créer la nouvelle révision.

volume Azure Files

Vous pouvez monter un partage de fichiers à partir de Azure Files en tant que volume dans un conteneur.

Important

Azure Container Apps ne prend en charge que les partages de fichiers Azure classiques, qui sont créés au sein d’un compte de stockage (le type de Microsoft.Storage/storageAccounts/fileServices/shares ressource). Container Apps ne prend pas en charge le nouveau type de ressource de niveau supérieur Microsoft.FileShares. Si vous essayez de monter une Microsoft.FileShares ressource, l’opération échoue. Pour créer un partage de fichiers pris en charge, voir Créer un partage de fichiers Azure classique.

Azure Files stockage présente les caractéristiques suivantes :

  • Les fichiers écrits sous l’emplacement de montage sont conservés dans le partage de fichiers.
  • Les fichiers inclus dans le partage sont disponibles par le biais de l’emplacement de montage.
  • Plusieurs conteneurs peuvent monter le même partage de fichiers, y compris ceux qui se trouvent dans un autre réplica, une autre révision ou une autre application conteneur.
  • Tous les conteneurs qui montent le partage peuvent accéder aux fichiers écrits par tout autre conteneur ou toute autre méthode.
  • Plusieurs volumes Azure Files peuvent être montés dans un seul conteneur.

Azure Files prend en charge les protocoles SMB (Server Message Block) et NFS (Network File System). Vous pouvez monter un partage Azure Files à l’aide de l’un ou l’autre protocole. Le partage de fichiers que vous définissez dans l’environnement doit être configuré avec le même protocole que celui utilisé par le partage de fichiers dans le compte de stockage.

Pour les nouveaux montages de fichiers SMB, utilisez une authentification d’identité managée (aperçu) au lieu des clés de compte de stockage. Container Apps utilise une identité managée assignée par le système ou par l’utilisateur assignée à l’environnement Container Apps, et non à l’application conteneur individuelle, pour s’authentifier auprès d’Azure Files. Ce mode élimine le besoin de récupérer, stocker ou effectuer la rotation d’une clé de compte de stockage. Vous devez explicitement sélectionner l’authentification d’identité managée dans la définition de stockage ; les montages de clés de compte de stockage existants restent pris en charge.

L’authentification par identité managée ne s’applique qu’aux partages SMB. Les partages NFS utilisent des contrôles d’accès basés sur le réseau et n’utilisent pas les paramètres d’authentification SMB.

Pour permettre le stockage Azure Files dans votre conteneur, configurez votre environnement et votre application conteneur comme suit :

  • Créez une définition de stockage dans l’environnement Container Apps.
  • Si vous utilisez NFS, votre environnement doit être configuré avec un réseau virtuel personnalisé, et le compte de stockage doit être configuré pour autoriser l’accès depuis le réseau virtuel. Pour plus d’informations, consultez partages de fichiersNFS dans Azure Files .
  • Si vous utilisez NFS, le compte de stockage ne doit pas nécessiter de connexions NFS chiffrées. Container Apps ne prend pas en charge le chiffrement en transit pour les partages de fichiers NFS. Si le paramètre Nécessite un chiffrement en transit pour NFS du compte de stockage est activé, ou si ce paramètre n’est pas configuré et que le transfert sécurisé requis est activé, le montage échoue avec une erreur telle que mount.nfs: access denied by server while mounting. Pour plus d’informations, consultez Chiffrement en transit pour les partages de fichiers Azure NFS.
  • Si votre environnement est configuré avec un VNet personnalisé, vous devez autoriser les ports 445 et 2049 dans le groupe NSG (groupe de sécurité réseau) associé au sous-réseau.
  • Définissez un volume de type AzureFile (SMB) ou NfsAzureFile (NFS) dans une révision.
  • Définissez un montage de volume dans un ou plusieurs conteneurs dans la révision.
  • Le compte de stockage Azure Files utilisé doit être accessible à partir du réseau virtuel de votre application conteneur. Pour plus d’informations, consultez Accorder l’accès depuis un réseau virtuel.

Prérequis

Condition requise Les instructions
compte Azure Si vous n’en avez pas, créez gratuitement un compte.
compte stockage Azure Créez un compte de stockage avec un partage de fichiers Azure classique.
environnement Azure Container Apps Créez un environnement d’applications conteneur.
Identité gérée pour l’authentification SMB Activez l’identité managée assignée par le système de l’environnement ou attribuez une identité managée attribuée par l’utilisateur à l’environnement. Voir Gérer les identités des environnements.
Paramètres du compte de stockage pour l’authentification de l’identité gérée SMB Activez l’identité gérée pour SMB (SMBOAuth) sur le compte de stockage. Ses paramètres de sécurité SMB doivent également permettre l’authentification Kerberos.
Azure RBAC pour l’authentification d’identité managée SMB Attribuer le rôle Storage File Data SMB MI Admin à l’identité d’environnement sélectionnée dans le périmètre du compte de stockage. Voir Attribuer un rôle RBAC intégré à l’identité gérée. Pour attribuer des rôles, il faut l’autorisation Microsoft.Authorization/roleAssignments/write à cette étendue. Prévoyez le temps pour que les attributions de rôles se propagent avant de monter le partage.

Paramétrage

Lorsque vous configurez une application conteneur pour monter un volume Azure Files à l’aide de Azure CLI, vous devez utiliser une définition YAML pour créer ou mettre à jour votre application conteneur.

Installez la dernière version de Azure CLI et mettez à jour l’extension Container Apps :

az extension add --name containerapp --upgrade

Pour obtenir un didacticiel pas à pas sur le montage d’un partage de fichiers SMB, consultez Créer un montage de stockage Azure Files dans Azure Container Apps.

  1. Ajoutez une définition de stockage à votre environnement Container Apps.

    Authentification par identité managée (recommandée)

    Pour utiliser l’identité managée assignée par le système de l’environnement, activez-la d’abord :

    az containerapp env identity assign --name my-env --resource-group my-group \
        --system-assigned
    

    Accordez à l’identité le rôle Storage File Data SMB MI Admin sur votre compte de stockage et activez Managed Identity for SMB comme décrit dans les prérequis. Puis créez la définition de stockage :

    az containerapp env storage set --name my-env --resource-group my-group \
        --storage-name mystorage \
        --storage-type AzureFile \
        --azure-file-account-name <STORAGE_ACCOUNT_NAME> \
        --azure-file-identity system \
        --azure-file-share-name <STORAGE_SHARE_NAME> \
        --access-mode ReadWrite
    

    Remplacez <STORAGE_ACCOUNT_NAME> et <STORAGE_SHARE_NAME> avec les noms de votre compte de stockage et de partage de fichiers. La valeur system sélectionne l’identité gérée assignée par le système de l’environnement.

    Pour utiliser une identité managée attribuée par l’utilisateur à la place, assignez-la à l’environnement :

    az containerapp env identity assign --name my-env --resource-group my-group \
        --user-assigned <MANAGED_IDENTITY_RESOURCE_ID>
    

    Accordez à cette identité le même rôle sur le compte de stockage. Dans la commande de stockage, remplacez --azure-file-identity system par --azure-file-identity <MANAGED_IDENTITY_RESOURCE_ID>, en utilisant l'ID complet de la ressource Azure de l'identité, et non son identifiant client ou son identifiant principal.

    Ne pas combiner --azure-file-identity avec --azure-file-account-key ou --azure-file-key-vault-secret-url. Ces modes d’authentification sont mutuellement exclusifs.

    Authentification par clé de compte de stockage (alternative)

    Si vous ne pouvez pas utiliser l’authentification d’identité gérée, vous pouvez utiliser une clé de compte de stockage à la place :

    az containerapp env storage set --name my-env --resource-group my-group \
        --storage-name mystorage \
        --storage-type AzureFile \
        --azure-file-account-name <STORAGE_ACCOUNT_NAME> \
        --azure-file-account-key <STORAGE_ACCOUNT_KEY> \
        --azure-file-share-name <STORAGE_SHARE_NAME> \
        --access-mode ReadWrite
    

    Remplacez <STORAGE_ACCOUNT_NAME> et <STORAGE_ACCOUNT_KEY> par le nom et la clé de votre compte de stockage. Remplacez <STORAGE_SHARE_NAME> par le nom du partage de fichiers dans le compte de stockage.

    Les valeurs valides pour --access-mode sont ReadWrite et ReadOnly.

  2. Pour mettre à jour une application conteneur existante pour monter un partage de fichiers, exportez la spécification de votre application vers un fichier YAML nommé app.yaml.

    az containerapp show -n <APP_NAME> -g <RESOURCE_GROUP_NAME> -o yaml > app.yaml
    
  3. Apportez les modifications suivantes à la spécification de votre application conteneur.

    • Ajoutez un tableau volumes à la section template de votre définition d’application conteneur et définissez un volume. Si vous disposez déjà d’un tableau volumes, ajoutez un nouveau volume au tableau.
      • name correspond à un identificateur pour le volume.
      • Pour storageType, utilisez AzureFile pour SMB, ou NfsAzureFile pour NFS. Cette valeur doit correspondre au type de stockage que vous avez défini dans l’environnement.
      • Pour storageName, utilisez le nom du stockage que vous avez défini dans l’environnement.
      • mountOptions est une chaîne de caractères séparée par des virgules d’options de montage. Pour plus d’informations, consultez Utilisez les paramètres mountOptions dans Azure Files.
      • La liste secrets est une liste de secrets à monter dans le volume. Pour davantage d’informations, reportez-vous à Montage des secrets dans un volume.
    • Pour chaque conteneur du modèle pour lequel vous souhaitez monter le stockage Azure Files, définissez un montage de volume dans le tableau volumeMounts de la définition de la conteneur.
      • volumeName correspond au nom défini dans le tableau volumes.
      • mountPath correspond au chemin dans le conteneur où monter le volume.
      • subPath est le chemin d’accès dans le volume à monter. Si vous ne spécifiez pas cette valeur, la racine du volume est montée. Pour plus d’informations, voir Sous-chemin.
    properties:
      managedEnvironmentId: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.App/managedEnvironments/<ENVIRONMENT_NAME>
      configuration:
      template:
        containers:
        - image: <IMAGE_NAME>
          name: my-container
          volumeMounts:
          - volumeName: azure-files-volume
            mountPath: /my-files
            subPath: my-sub-path
        volumes:
        - name: azure-files-volume
          storageType: AzureFile
          storageName: mystorage
    
  4. Mettez à jour votre application conteneur à l’aide du fichier YAML.

    az containerapp update --name <APP_NAME> --resource-group <RESOURCE_GROUP_NAME> \
        --yaml app.yaml
    

Pour obtenir un exemple complet, consultez la spécification YAML.

Les extraits de code arm suivants montrent comment ajouter un partage Azure Files à un environnement Container Apps et l’utiliser dans une application conteneur. Pour l’authentification par identité gérée pour SMB, activez ou attribuez l’identité dans l’environnement et remplissez les conditions préalables du compte de stockage avant de déployer la définition de stockage.

  1. Ajoutez une ressource enfant storages à l’environnement Container Apps.

    Authentification par identité managée (recommandée)

    Premièrement, activez une identité gérée sur la Microsoft.App/managedEnvironments ressource, pas sur la Microsoft.App/containerApps ressource. Pour activer l’identité affectée par le système de l’environnement, ajoutez la propriété de niveau supérieur identity suivante à votre ressource d’environnement :

    {
      "identity": {
        "type": "SystemAssigned"
      }
    }
    

    Fusionnez ce fragment dans votre ressource d’environnement existante, en conservant son autre configuration. Utilisez une version d’API d’environnement qui prend en charge les identités gérées, telles que 2026-03-02-preview. Pour le schéma des ressources, voir Microsoft.App/managedEnvironments.

    Activez l’identité gérée pour SMB (SMBOAuth) sur le compte de stockage et attribuez à l’identité d’environnement le rôle Storage File Data SMB MI Admin dans le périmètre du compte de stockage, comme décrit dans les prérequis.

    Ensuite, utilisez la version 2026-03-02-preview API pour la ressource de stockage. Définissez properties.azureFile.identity sur system pour sélectionner l’identité assignée par le système de l’environnement :

    {
      "type": "Microsoft.App/managedEnvironments/storages",
      "apiVersion": "2026-03-02-preview",
      "name": "[concat(parameters('environment_name'), '/myazurefiles')]",
      "properties": {
        "azureFile": {
          "accountName": "[parameters('storage_account_name')]",
          "identity": "system",
          "shareName": "[parameters('storage_share_name')]",
          "accessMode": "ReadWrite"
        }
      }
    }
    

    Pour utiliser une identité managée attribuée par l’utilisateur à la place, ajoutez-la à la propriété de niveau supérieur identity de l’environnement :

    {
      "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
          "[parameters('managed_identity_resource_id')]": {}
        }
      }
    }
    

    Définissez le paramètre managed_identity_resource_id comme un string contenant l'ID complet de la ressource Azure de l'identité. Dans la ressource de stockage, définissez properties.azureFile.identity sur [parameters('managed_identity_resource_id')] au lieu de system. Accordez à cette identité le même rôle sur le compte de stockage.

    Préserver les identités déjà attribuées à l’environnement. Si vous activez les deux types d’identité, utilisez SystemAssigned,UserAssigned pour le/la identity.type de l’environnement et conservez ses entrées userAssignedIdentities.

    N’incluez pas accountKey ou accountKeyVaultProperties lorsque vous utilisez l’authentification par identité managée. Pour le schéma des ressources de stockage, voir Microsoft.App/managedEnvironments/storages.

    Authentification par clé de compte de stockage (alternative)

    Pour utiliser une clé de compte de stockage à la place, définissez accountKey et omettez identity. Définissons le storage_account_key paramètre modèle comme un secureString.

    {
      "type": "Microsoft.App/managedEnvironments/storages",
      "apiVersion": "2022-03-01",
      "name": "[concat(parameters('environment_name'), '/myazurefiles')]",
      "properties": {
        "azureFile": {
          "accountName": "[parameters('storage_account_name')]",
          "accountKey": "[parameters('storage_account_key')]",
          "shareName": "[parameters('storage_share_name')]",
          "accessMode": "ReadWrite"
        }
      }
    }
    

    Ces extraits de stockage supposent que l’environnement et le partage de fichiers existent déjà. Si vous les déployez dans le même modèle, ajoutez les ressources d’environnement et de partage de fichiers au tableau dependsOn de la ressource de stockage. Pour l’authentification d’identité gérée, ajoutez aussi une dépendance à l’attribution du rôle si vous la créez dans ce modèle. Une dépendance de déploiement n’élimine pas les délais de propagation de l’attribution de rôle.

  2. Mettez à jour la ressource d’application conteneur pour ajouter un volume et un montage de volume.

    L’authentification SMB est configurée dans la définition de stockage de l’environnement. La configuration du volume au niveau de l’application est la même pour l’identité gérée et l’authentification par clé de compte de stockage. Si vous déployez la ressource de stockage et l’application conteneur dans le même modèle, ajoutez la ressource de stockage au tableau dependsOn de l’application conteneur.

    {
      "apiVersion": "2023-05-01",
      "type": "Microsoft.App/containerApps",
      "name": "[parameters('containerappName')]",
      "location": "[parameters('location')]",
      "properties": {
    
        ...
    
        "template": {
          "revisionSuffix": "myrevision",
          "containers": [
            {
              "name": "main",
              "image": "[parameters('container_image')]",
              "resources": {
                "cpu": 0.5,
                "memory": "1Gi"
              },
              "volumeMounts": [
                {
                  "mountPath": "/myfiles",
                  "volumeName": "azure-files-volume",
                  "subPath": "my-sub-path"
                }
              ]
            }
          ],
          "scale": {
            "minReplicas": 1,
            "maxReplicas": 3
          },
          "volumes": [
            {
              "name": "azure-files-volume",
              "storageType": "AzureFile",
              "storageName": "myazurefiles"
            }
          ]
        }
      }
    }
    
    • Ajoutez un tableau volumes à la section template de votre définition d’application conteneur et définissez un volume. Si vous disposez déjà d’un tableau volumes, ajoutez un nouveau volume au tableau.
      • name correspond à un identificateur pour le volume.
      • Pour storageType, utilisez AzureFile pour SMB, ou NfsAzureFile pour NFS. Cette valeur doit correspondre au type de stockage que vous avez défini dans l’environnement.
      • Pour storageName, utilisez le nom du stockage que vous avez défini dans l’environnement.
      • mountOptions est une chaîne de caractères séparée par des virgules d’options de montage. Pour plus d’informations, consultez Utilisez les paramètres mountOptions dans Azure Files.
      • La liste secrets est une liste de secrets à monter dans le volume. Pour davantage d’informations, reportez-vous à Montage des secrets dans un volume.
    • Pour chaque conteneur du modèle pour lequel vous souhaitez monter le stockage Azure Files, définissez un montage de volume dans le tableau volumeMounts de la définition de la conteneur.
      • volumeName correspond au nom défini dans le tableau volumes.
      • mountPath correspond au chemin dans le conteneur où monter le volume.
      • subPath (facultatif) est le chemin d’accès dans le volume à monter. Si vous ne le spécifiez pas, la racine du volume est montée. Pour plus d’informations, voir Sous-chemin.

Consultez la spécification de l’API de modèle ARM pour obtenir un exemple complet.

Pour configurer un montage de volume pour Azure Files stockage dans le portail Azure, ajoutez un partage de fichiers à votre environnement Container Apps, puis ajoutez un montage de volume à votre application conteneur en créant une nouvelle révision. Pour les nouveaux montages SMB, sélectionnez authentification d’identité managée.

  1. Dans le portail Azure, accédez à votre environnement Container Apps.

  2. Pour l’authentification d’identité gérée SMB, sélectionnez Paramètres>Identité et activez une identité assignée par le système ou ajoutez une identité assignée par l’utilisateur à l’environnement. Complétez les paramètres du compte de stockage et l’attribution des rôles décrits dans les prérequis Azure Files avant d’ajouter le partage.

  3. Dans le volet de navigation, sous Paramètres, sélectionnez Montages de volume.

  4. Sélectionnez Ajouter.

  5. Sélectionnez SMB (Server Message Block) ou Network File System (NFS), selon le protocole utilisé par votre partage de fichiers.

  6. Dans le volet Contextuel Ajouter un partage de fichiers , entrez les informations suivantes :

    • Nom : Un nom pour la définition de stockage de l’environnement.
    • Nom du compte de stockage : nom du compte de stockage qui contient le partage de fichiers.
    • Authentification: Sélectionnez identité managée (recommandée).
    • Identité : Sélectionnez l’identité assignée au système de l’environnement ou une identité affectée par l’utilisateur à l’environnement à partir de la liste des identités gérées. Sélectionnez l’identité qui a le rôle Storage File Data SMB MI Admin sur le compte de stockage.
    • Nom du partage de fichiers : Le nom du partage de fichiers SMB.
    • Mode d’accès : mode d’accès pour le partage de fichiers. Les valeurs valides sont Lecture/écriture et Lecture seule.

    Pour utiliser l’authentification par clé de compte de stockage à la place, sélectionnez Clé de compte de stockage sous Authentification et saisissez la clé d’accès du compte de stockage. Choisissez une méthode d’authentification pour la définition de stockage.

  7. Sélectionnez Ajouter pour quitter le volet contextuel.

  8. Sélectionnez Enregistrer pour valider les modifications.

  9. Accédez à votre application conteneur.

  10. Dans le volet de navigation, sous Application, sélectionnez Révisions et réplicas.

  11. Sélectionnez Créer une révision.

  12. Dans la page Créer et déployer une nouvelle révision , sélectionnez l’onglet Volumes .

  13. Sélectionnez Ajouter.

  14. Dans le volet de contexte Ajouter un volume, définissez les valeurs suivantes.

    • Volume type : Azure volume de fichiers.
    • Nom : entrez un nom de volume.
    • Nom du partage de fichiers : sélectionnez le partage de fichiers que vous avez créé précédemment.
    • Options de montage : Si vous le souhaitez, entrez une chaîne séparée par des virgules d’options de montage. Pour plus d’informations, consultez Utilisez les paramètres mountOptions dans Azure Files.
  15. Sélectionnez Ajouter pour quitter le volet contextuel.

  16. Dans la page Créer et déployer une nouvelle révision , sélectionnez l’onglet Conteneur .

  17. Sélectionnez le conteneur dans lequel vous souhaitez monter le volume.

  18. Dans le volet Modifier un conteneur, sélectionnez l’onglet Montages de volume.

  19. Sous Nom du volume, sélectionnez le volume que vous avez créé précédemment.

  20. Dans Chemin de montage, saisissez le chemin d’accès absolu dans le conteneur pour monter le volume.

  21. Dans Sous-chemin (facultatif), entrez le chemin dans le volume à monter. Si vous ne spécifiez pas cette valeur, la racine du volume est montée. Pour plus d’informations, voir Sous-chemin.

  22. Sélectionnez Enregistrer pour enregistrer les modifications et quitter le volet contextuel.

  23. Sélectionnez Créer pour créer la nouvelle révision.

Sous-chemin

Lorsque vous montez un partage de fichiers à partir de Azure Files, vous pouvez spécifier à la fois un chemin de montage et un sous-chemin d’accès.

  • Chemin de montage : chemin d’accès dans le conteneur dans lequel vous souhaitez monter le volume.
  • Sous-chemin : chemin dans le volume que vous souhaitez monter.

Le sous-chemin est facultatif. Si vous ne spécifiez pas de sous-chemin, la racine du volume est montée.

Le sous-chemin est un chemin relatif à partir de la racine du volume. Ne démarrez pas le sous-chemin avec /. Si vous spécifiez un sous-chemin d’accès qui commence par /, votre application conteneur risque de ne pas démarrer. Par exemple, my-volume-folder il s’agit d’un sous-chemin valide, mais /my-volume-folder ce n’est pas le cas.

Le sous-chemin d’accès peut faire référence à un dossier ou à un fichier dans le volume.

  • Si le sous-chemin fait référence à un dossier, le chemin de montage doit faire référence à un dossier vide dans le conteneur.

  • Si le sous-chemin fait référence à un fichier, le chemin d’accès de montage doit faire référence à un fichier qui n’existe pas déjà dans le conteneur.

    Par exemple, supposons que le sous-chemin est my-volume-folder/my-volume-file.txt, et que le chemin de montage est /my-container-folder/my-container-file.txt. Le dossier /my-container-folder doit déjà exister dans le conteneur, mais ne doit pas encore contenir le fichier my-container-file.txt.

Le système ignore les barres obliques finales des sous-chemins.