Een emptyDir-volume koppelen in Azure Container Instances
Leer hoe u een leegDir-volume koppelt om gegevens te delen tussen de containers in een containergroep in Azure Container Instances. Gebruik legeDir-volumes als tijdelijke caches voor uw containerworkloads.
Notitie
Het koppelen van een leegDir-volume is momenteel beperkt tot Linux-containers. Hoewel we alle functies naar Windows-containers willen brengen, kunt u de huidige platformverschillen vinden in het overzicht.
leegDir-volume
Het legeDir-volume 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 gekoppeld met dezelfde of verschillende paden in elke container.
In een voorbeeld wordt gebruikgemaakt van een leegDir-volume :
- Kladruimte
- Controlepunten tijdens langlopende taken
- Gegevens opslaan die zijn opgehaald door een sidecar-container en worden geleverd door een toepassingscontainer
Gegevens in een leegDir-volume blijven behouden door containercrashes. Containers die opnieuw worden opgestart, zijn echter niet gegarandeerd dat de gegevens in een leegDir-volume worden bewaard. Als u een containergroep stopt, wordt het legeDir-volume niet behouden.
De maximale grootte van een Linux emptyDir-volume is 50 GB.
Een leegDir-volume koppelen
Als u een leegDir-volume in een containerinstantie wilt koppelen, kunt u implementeren met behulp van een Azure Resource Manager-sjabloon, een YAML-bestand of andere programmatische methoden om een containergroep te implementeren.
Vul eerst de volumes
matrix in de sectie containergroep properties
van het bestand in. Vul vervolgens voor elke container in de containergroep waarin u het legeDir-volume wilt koppelen de volumeMounts
matrix in de properties
sectie van de containerdefinitie.
Met de volgende Resource Manager-sjabloon wordt bijvoorbeeld een containergroep gemaakt die bestaat uit twee containers, die elk het legeDir-volume koppelt:
{
"$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 Een groep met meerdere containers implementeren met behulp van een Resource Manager-sjabloon en een groep met meerdere containers implementeren met behulp van een YAML-bestand voor voorbeelden van de implementatie van een containergroep.
Volgende stappen
Meer informatie over het koppelen van andere volumetypen in Azure Container Instances: