Een emptyDir-volume in Azure Container Instances
Leer hoe u een emptyDir-volume kunt monteren om gegevens te delen tussen de containers in een containergroep in Azure Container Instances. Gebruik emptyDir volumes als kortstondige caches voor uw containerworkloads.
Notitie
Het installeren van een leegDir-volume is momenteel beperkt tot Linux-containers. Hoewel we werken aan het toevoegen van alle functies Windows containers, kunt u de huidige platformverschillen vinden in het overzicht.
emptyDir volume
Het volume emptyDir biedt een beschrijfbare map die toegankelijk is voor elke container in een containergroep. Containers in de groep kunnen dezelfde bestanden in het volume lezen en schrijven en deze kunnen worden bevestigd met behulp van dezelfde of verschillende paden in elke container.
In een aantal voorbeeld wordt gebruikt voor een emptyDir-volume:
- Scratchruimte
- Controlepunten tijdens langlopende taken
- Gegevens opslaan die zijn opgehaald door een sidecar-container en worden bediend door een toepassingscontainer
Gegevens in een emptyDir-volume blijven bestaan via containercrashes. Containers die opnieuw worden opgestart, kunnen de gegevens echter niet gegarandeerd in een leegDir-volume opslaan. Als u een containergroep stopt, wordt het emptyDir-volume niet persistent.
De maximale grootte van een linux emptyDir-volume is 50 GB.
Een leegDir-volume monteren
Als u een emptyDir-volume wilt toevoegen aan een containerin instance, kunt u implementeren met behulp van een Azure Resource Manager-sjabloon, een YAML-bestandof andere programmatische methoden om een containergroep te implementeren.
Vul eerst de matrix volumes in de sectie properties containergroep van het bestand. Vul vervolgens voor elke container in de containergroep waarin u het emptyDir-volume wilt monteren de matrix in de sectie van de volumeMounts properties containerdefinitie.
Met de volgende Resource Manager maakt u bijvoorbeeld een containergroep die bestaat uit twee containers, die elk het legeDir-volume aan elkaar bevestigt:
{
"$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": {}
}
]
}
}
]
}
Zie Deploy a multi-container group using a Resource Manager template (Een groep met meerdere containers implementeren met behulp van een Resource Manager-sjabloon) en Deploy a multi-container group using a YAML file (Een groep met meerdere containers implementeren met behulp van een YAML-bestand) voorvoorbeelden van de implementatie van een containergroep.
Volgende stappen
Meer informatie over het aan elkaar Azure Container Instances: