Informazioni sugli aggiornamenti delle immagini di base per attività del Registro Azure Container

Questo articolo fornisce informazioni generali sugli aggiornamenti dell'immagine di base di un'applicazione e sul modo in cui questi aggiornamenti possono attivare un'attività Registro Azure Container.

Che cosa sono le immagini di base?

I Dockerfile che definiscono la maggior parte delle immagini contenitore specificano un'immagine padre da cui si basa l'immagine, spesso definita immagine di base. Le immagini di base contengono in genere il sistema operativo, ad esempio Alpine Linux o Windows Nano Server, in cui vengono applicati i restanti livelli del contenitore. Possono anche includere framework applicazioni come Node.js o .NET Core. Queste immagini di base sono in genere basate su immagini upstream pubbliche. Diverse immagini di applicazioni possono condividere un'immagine di base comune.

Un'immagine di base viene spesso aggiornata dal gestore delle immagini per includere nuove funzionalità o nuovi miglioramenti del sistema operativo o del framework. Un'altra comune causa di aggiornamento dell'immagine di base è costituita dalle patch di sicurezza. Quando si verificano questi aggiornamenti upstream, è necessario aggiornare anche le immagini di base per includere la correzione critica. È quindi necessario anche ricompilare ogni immagine di applicazione per includere gli aggiornamenti upstream ora inclusi nell'immagine di base.

In alcuni casi, ad esempio un team di sviluppo privato, un'immagine di base potrebbe specificare più del sistema operativo o del framework. Ad esempio, un'immagine di base può essere un'immagine del componente del servizio condiviso che deve essere rilevata. I membri di un team potrebbero dover tenere traccia di questa immagine di base per il test o dover aggiornare regolarmente l'immagine durante lo sviluppo di immagini dell'applicazione.

Gestire copie delle immagini di base

Per qualsiasi contenuto nei registri che dipende dal contenuto di base gestito in un registro pubblico, ad esempio l'hub Docker, è consigliabile copiare il contenuto in un registro contenitori di Azure o in un altro registro privato. Assicurarsi quindi di compilare le immagini dell'applicazione facendo riferimento alle immagini di base private. Registro Azure Container offre una funzionalità di importazione di immagini per copiare facilmente il contenuto da registri pubblici o da altri registri contenitori di Azure. La sezione successiva descrive l'uso di Attività registro Azure Container per tenere traccia degli aggiornamenti delle immagini di base durante la compilazione degli aggiornamenti dell'applicazione. È possibile tenere traccia degli aggiornamenti delle immagini di base nei registri contenitori di Azure e facoltativamente nei registri pubblici upstream.

Tenere traccia degli aggiornamenti delle immagini di base

Attività del Registro Azure Container include la possibilità di compilare automaticamente le immagini quando viene aggiornata l'immagine di base di un contenitore. È possibile usare questa possibilità per gestire e aggiornare copie di immagini di base pubbliche nei registri contenitori di Azure e quindi per ricompilare le immagini dell'applicazione che dipendono dalle immagini di base.

Attività registro Azure Container individua in modo dinamico le dipendenze dell'immagine di base quando compila un'immagine del contenitore. Di conseguenza, può rilevare quando viene aggiornata l'immagine di base di un'immagine dell'applicazione. Con un'attività di compilazione preconfigurato, Attività registro Azure Container può ricompilare automaticamente ogni immagine dell'applicazione che fa riferimento all'immagine di base. Grazie al rilevamento e alla ricompilazione automatici, ACR Tasks consente di risparmiare il tempo e il lavoro normalmente necessari per monitorare e aggiornare manualmente ogni immagine di applicazione che fa riferimento all'immagine di base aggiornata.

Posizioni delle immagini di base

Per la creazione di immagini da un documento Dockerfile, un'attività di Registro Azure Container rileva le dipendenze da immagini di base nelle posizioni seguenti:

  • La stessa istanza di Registro Azure Container in cui viene eseguita l'attività
  • Un altro registro Azure Container privato nella stessa area o in un'area diversa
  • Un repository pubblico in Docker Hub
  • Un repository pubblico in Registro contenitori di Microsoft

Se l'immagine di base specificata nell'istruzione FROM si trova in una di queste posizioni, l'attività Registro Azure Container aggiunge un hook per assicurarsi che l'immagine venga ricompilata ogni volta che viene aggiornata la base.

Notifiche delle immagini di base

Il tempo tra l'aggiornamento di un'immagine di base e l'attivazione dell'attività dipendente dipende dalla posizione dell'immagine di base:

  • Immagini di base da un repository pubblico in Docker Hub o MCR : per le immagini di base nei repository pubblici, un'attività del Registro Azure Container controlla la disponibilità di aggiornamenti delle immagini a intervalli casuali compresi tra 10 e 60 minuti. Le attività dipendenti vengono eseguite di conseguenza.
  • Immagini di base da un Registro Azure Container: per le immagini di base nei registri contenitori di Azure, un'attività del Registro Azure Container attiva immediatamente un'esecuzione quando viene aggiornata l'immagine di base. L'immagine di base può trovarsi nello stesso Registro Azure Container in cui viene eseguita l'attività o in un record di controllo di accesso diverso in qualsiasi area.

Considerazioni aggiuntive

  • Immagini di base per le immagini dell'applicazione: attualmente un'attività registro Azure Container tiene traccia solo degli aggiornamenti delle immagini di base per le immagini dell'applicazione (runtime). Non tiene traccia degli aggiornamenti delle immagini di base per le immagini intermedie (buildtime) usate in Dockerfile in più fasi.

  • Abilitato per impostazione predefinita: quando si crea un'attività del Registro Azure Container con il comando az acr task create, per impostazione predefinita l'attività è abilitata per il trigger da un aggiornamento dell'immagine di base. Ciò significa che la proprietà base-image-trigger-enabled è impostata su True. Se si vuole disabilitare questo comportamento in un'attività, aggiornare la proprietà impostandola su False. Eseguire ad esempio il comando az acr task update seguente:

    az acr task update --registry myregistry --name mytask --base-image-trigger-enabled False
    
  • Trigger per tenere traccia delle dipendenze : per abilitare un'attività del Registro Azure Container per determinare e tenere traccia delle dipendenze di un'immagine del contenitore, che includono l'immagine di base, è prima necessario attivare l'attività per compilare l'immagine almeno una volta. Attivare ad esempio l'attività manualmente usando il comando az acr task run.

  • Tag stabile per l'immagine di base: per attivare un'attività in caso di aggiornamento dell'immagine di base, l'immagine di base deve avere un tag stabile , ad esempio node:9-alpine. Questo tag è tipico per un'immagine di base che viene aggiornata con le patch di sistema operativo e framework all'ultima versione stabile. Se l'immagine di base viene aggiornata con un nuovo tag di versione, l'attività non viene attivata. Per altre informazioni sull'uso di tag per le immagini, vedere le procedure consigliate.

  • Altri trigger di attività: in un'attività attivata dagli aggiornamenti delle immagini di base, è anche possibile abilitare i trigger in base al commit del codice sorgente o a una pianificazione. Un aggiornamento dell'immagine di base può anche attivare un'attività in più passaggi.

Passaggi successivi

Vedere le esercitazioni seguenti per gli scenari per automatizzare le compilazioni di immagini dell'applicazione dopo l'aggiornamento di un'immagine di base: