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
Path addizionali per gli asset in ASP.NET Core MVC
Anonimizzare i dati sensibili nei log di Azure Front Door
Configurare lo startup di applicazioni server e client con .NET Aspire
Combinare Container Queries e Media Queries
Creare una libreria CSS universale: Clip-path
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Utilizzare WhenEach per processare i risultati di una lista di task
Ottimizzare le performance usando Span<T> e il metodo Split
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
La gestione della riconnessione al server di Blazor in .NET 9
Ottimizzazione dei block template in Angular 17
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core