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
Eseguire script pre e post esecuzione di un workflow di GitHub
Simulare Azure Cosmos DB in locale con Docker
La gestione della riconnessione al server di Blazor in .NET 9
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Scrivere selettori CSS più semplici ed efficienti con :is()
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Applicare un filtro per recuperare alcune issue di GitHub
Utilizzare gRPC su App Service di Azure
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API