Azure Container Instance (ACI) è un servizio che permette di eseguire un container Docker in semplici pochi passi senza l'ausilio di un orchestratore. Si indicano la CPU, la memoria e le configurazioni del container e in pochi secondi otteniamo un'immagine funzionante che paghiamo solo per il tempo che lo utilizziamo.
Come sappiamo un container ha un file system temporaneo che viene perso nel momento in cui il container viene eliminato, per questo motivo usiamo i volumi per mappare un path dell'host all'interno del guest. Sulla piattaforma Microsoft Azure non abbiamo visibilità dell'host, per questo motivo è possibile creare un volume che punti direttamente al sistema per eccellenza per la memorizzazione dei file: Azure Storage.
Nello specifico, quello che possiamo fare è mappare un'istanza di Azure File Share, il servizio che ci permette di accedere tramite Samba e NFS. Per questo motivo dobbiamo prima di tutto procedere alla sua creazione e successivamente creare il container. I container non possono essere modificati, perciò se esso esiste già, è necessario eliminarlo per poi ricrearlo.
Purtroppo, dall'interfaccia non è presente il supporto a questa funzionalità, perciò dobbiamo ricorrere all'uso di Azure CLI, installandolo sulla propria macchina o utilizzando Azure Cloud Shell. Per montare la share è necessario lanciare il seguente comando:
az container create \
--resource-group myGroup \
--name myContainer \
--image mcr.microsoft.com/azuredocs/aci-hellofiles \
--dns-name-label myTest \
--ports 80 \
--azure-file-volume-account-name myAccount \
--azure-file-volume-account-key myPrimaryKey \
--azure-file-volume-share-name shareName \
--azure-file-volume-mount-path /aci/logs/Nell'esempio, oltre a creare il container specificando immagine e porta, vengono indicate le coordinate della share e come ultimo parametro il percorso dal quale il guest può raggiungere i contenuti. E' da specificare che è possibile indicare anche più share, ma è necessario ricorrere all'uso dello YAML o a ARM, come indicato al seguente link.
https://docs.microsoft.com/it-it/azure/container-instances/container-instances-volume-azure-files#mount-multiple-volumes
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Testare il failover sulle region in Azure Storage
Raggruppare risorse in .NET Aspire
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Personalizzare le pagine di errore su Azure App Service
Gestire progetti .NET + React in .NET Aspire
Gestire gli errori nelle Promise JavaScript con try()
Utilizzare i command service nei test con .NET Aspire
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Configurare automaticamente un webhook in Azure DevOps
Configurare lo startup di applicazioni server e client con .NET Aspire
Escludere alcuni file da GitHub Copilot
Esporre un server MCP esistente con Azure API Management


