Mount an emptyDir volume in Azure Container Instances (Montare un volume emptyDir in Istanze di Azure Container)
Informazioni su come montare un volume emptyDir per condividere dati tra i contenitori in un gruppo di contenitori in Istanze di Azure Container. Usare i volumi emptyDir come cache temporanee per i carichi di lavoro in contenitori.
Nota
Il montaggio di un volume emptyDir è attualmente limitato ai contenitori di Linux. Mentre stiamo lavorando per portare tutte le funzionalità nei contenitori Windows, puoi trovare le differenze correnti della piattaforma nella panoramica.
Volume emptyDir
Il volume emptyDir fornisce una directory scrivibile accessibile per ogni contenitore in un gruppo di contenitori. I contenitori nel gruppo possono leggere e scrivere gli stessi file nel volume, che può essere montato usando lo stesso percorso o percorsi diversi in ogni contenitore.
Alcuni esempi d'uso per un volume emptyDir:
- Area scratch
- Checkpoint durante le attività a esecuzione prolungata
- Archiviare i dati recuperati da un contenitore collaterale e fornito da un contenitore applicazione
I dati in un volume emptyDir vengono salvati in modo permanente tramite l'arresto anomalo del contenitore. I contenitori riavviati, tuttavia, non garantiscono la persistenza dei dati in un volume emptyDir . Se si arresta un gruppo di contenitori, il volume emptyDir non viene salvato in modo permanente.
La dimensione massima di un volume Linux emptyDir è di 50 GB.
Montare un volume emptyDir
Per montare un volume emptyDir in un'istanza del contenitore, è possibile eseguire la distribuzione usando un modello di Azure Resource Manager, un file YAML o altri metodi programmatici per distribuire un gruppo di contenitori.
Prima di tutto, popolare la volumes
matrice nella sezione del gruppo properties
di contenitori del file. Successivamente per ogni contenitore del gruppo di contenitori in cui si desidera montare il volume emptyDir, popolare la matrice volumeMounts
nella sezione properties
della definizione del contenitore.
Ad esempio, il modello di Resource Manager seguente crea un gruppo di contenitori costituito da due contenitori, ognuno dei quali monta il volume emptyDir:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"container1name": "aci-tutorial-app",
"container1image": "mcr.microsoft.com/azuredocs/aci-helloworld:latest",
"container2name": "aci-tutorial-sidecar",
"container2image": "mcr.microsoft.com/azuredocs/aci-tutorial-sidecar"
},
"resources": [
{
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2021-03-01",
"name": "volume-demo-emptydir",
"location": "[resourceGroup().location]",
"properties": {
"containers": [
{
"name": "[variables('container1name')]",
"properties": {
"image": "[variables('container1image')]",
"resources": {
"requests": {
"cpu": 1,
"memoryInGb": 1.5
}
},
"ports": [
{
"port": 80
}
],
"volumeMounts": [
{
"name": "emptydir1",
"mountPath": "/mnt/empty"
}
]
}
},
{
"name": "[variables('container2name')]",
"properties": {
"image": "[variables('container2image')]",
"resources": {
"requests": {
"cpu": 1,
"memoryInGb": 1.5
}
},
"volumeMounts": [
{
"name": "emptydir1",
"mountPath": "/mnt/empty"
}
]
}
}
],
"osType": "Linux",
"ipAddress": {
"type": "Public",
"ports": [
{
"protocol": "tcp",
"port": "80"
}
]
},
"volumes": [
{
"name": "emptydir1",
"emptyDir": {}
}
]
}
}
]
}
Per visualizzare esempi di distribuzione di gruppi di contenitori, vedere Distribuire un gruppo multi-contenitore usando un modello di Resource Manager e Distribuire un gruppo multi-contenitore usando un file YAML.
Passaggi successivi
Informazioni su come montare altri tipi di volume in Istanze di Azure Container:
- Mount an Azure file share in Azure Container Instances (Montare una condivisione file di Azure in Istanze di Azure Container)
- Mount a gitRepo volume in Azure Container Instances (Montare un volume gitRepo in Istanze di Azure Container)
- Mount a secret volume in Azure Container Instances (Montare un volume segreto in Istanze di Azure Container)