Gestire container su larga scala può presentare sfide significative, specialmente quando si utilizzano registri pubblici. Uno dei problemi più comuni è rappresentato dai limiti di pull imposti dai provider, che possono rallentare le operazioni o, nei casi peggiori, interrompere i flussi di lavoro. Per superare queste difficoltà, Azure Container Registry (ACR) introduce la funzionalità di Artifact Cache, una soluzione che consente di memorizzare nella cache immagini di container da repository pubblici o privati direttamente in un registro privato.
Utilizzare la cache non solo migliora la velocità e l'affidabilità dei pull, ma consente anche di lavorare in ambienti con accesso limitato o regolamentato, riducendo la dipendenza dai registri esterni. Questo approccio è particolarmente utile per chi desidera mantenere la continuità operativa, rispettare normative aziendali o garantire la conformità ai requisiti di sicurezza. La cache consente di creare regole specifiche per sincronizzare le immagini dal registro sorgente al proprio ACR, utilizzando un modello di pull ottimizzato. Una volta configurata una regola, le immagini richieste vengono memorizzate e possono essere successivamente prelevate dalla cache senza richiedere nuovi accessi al registro pubblico.
Per sfruttare questa funzionalità dobbiamo, utilizzando il portale, andare nella sezione Cache e procediamo alla creazione di una regola con Create rule. Oltre al nome dobbiamo indicare da quale registro prelevare le immagini, eventualmente autenticandoci, e quale nome dare invece alla copia che avremo nel nostro registro. Possiamo farlo in maniera puntuale, indicando tutto il percorso (senza il tag), oppure possiamo usare le wildcard.

Nell'esempio precedente indichiamo di mettere a disposizione tutte le immagini di dotnet del registro di Microsoft e farne una copia nel nostro registro usando il prefisso microsoft/dotnet/*. Possiamo a questo punto, una volta effettuata l'autenticazione, fare la pull di un'immagine del registro Microsoft attraverso il nostro, come nell'esempio seguente.
docker pull industria4.azurecr.io/microsoft/dotnet/sdk:8.0
Grazie alla regola verrà scaricata una copia sul registro Azure e messa a disposizione a chi sta facendo la pull. Andando infatti nella sezione Repositories di ACR, troveremo l'immagine marcata con la regola applicata.

In conclusione, l'Artifact Cache di Azure Container Registry migliora performance, sicurezza e gestione dei container. Tuttavia, è importante considerare che la cache aumenta lo spazio utilizzato nel registro, con possibili impatti sui costi per lo storage.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eliminare una project wiki di Azure DevOps
Generare velocemente pagine CRUD in Blazor con QuickGrid
Anonimizzare i dati sensibili nei log di Azure Front Door
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Utilizzare Locust con Azure Load Testing
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Utilizzare WhenEach per processare i risultati di una lista di task
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Aggiornare a .NET 9 su Azure App Service
Gestione CSS in Blazor con .NET 9
Rendere i propri workflow e le GitHub Action utilizzate più sicure