Nel mondo dei micro servizi l'utilizzo di una tecnica di deployment affidabile e automatizzata è fondamentale. Numero di servizi, versioning, aggiornamenti e scalabilità diventano esponenzialmente più complicati con questo genere di architettura. Docker rappresenta lo strumento più diffuso per preparare immagini dei nostri servizi e tramite container renderli funzionanti sulle farm private o sul cloud.
Docker, affinché possa avviare un container necessita delle immagini: molteplici layer di file system che compongono il sistema operativo e l'applicativo stesso. Esse vengono memorizzate in registri e il più conosciuto è raggiungibile all'indirizzo hub.docker.com, il quale offre la possibilità di memorizzare immagini pubbliche o private a seconda del piano scelto. Un'alternativa a questo registro è rappresentata da Azure Container Registry (ACR) il quale offre la possibilità di avere un registro privato, la replica dello stesso su più regioni e l'automazione di build e rilasci attraverso web hook.
Possiamo creare uno o più registri direttamente dal portale con la consueta procedura.
Oltre al nome e alla posizione geografica ci viene chiesto se supportare l'utenza amministrativa. La abilitiamo per permettere di caricare o scaricare immagini dal registro stesso. Successivamente entriamo nella sezione Access Keys per recuperare username e password che, anche in questo caso, supporta la rotazione.
Il registro è già disponibile perciò non ci resta che sfruttare la CLI di Docker per effettuare il push del repository. Dobbiamo prima di tutto effettuare il login.
docker login --username <username> --password <password> ricciolo.azurecr.io
Successivamente possiamo usare il comando push per caricare un'immagine locale, magari perché appena fatto il build, sul nostro registro. Per farlo dobbiamo prima di tutto applicare un tag all'immagine stessa, specificando il dominio del registro.
docker tag [immagine] ricciolo.azurecr.io/<repository name>/[immagine]:[tag] docker push ricciolo.azurecr.io/<repository name>/[immagine]:[tag]
Su un'altra macchina possiamo usare il comando pull per ottenere un'immagine dal registro, come normalmente facciamo dall'hub predefinito, con l'unica differenza di anteporre il dominio di provenienza dell'immagine.
docker pull ricciolo.azurecr.io/[immagine]:[tag]
Possiamo inoltre andare sul portale Azure e visualizzare nella sezione apposita le immagini che abbiamo caricato.
Il servizio è a pagamento e presenta tre profili diversi a seconda dello spazio massimo che vogliamo utilizzare, dei web hook e della facoltà di usare la georeplica.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Migrare una service connection a workload identity federation in Azure DevOps
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Potenziare Azure AI Search con la ricerca vettoriale
Effettuare il binding di date in Blazor
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Utilizzare Azure AI Studio per testare i modelli AI
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Recuperare App Service cancellati su Azure
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
I più letti di oggi
- Windows DNA Parte prima
- Microsoft Visual Studio Code: un nuovo editor gratuito per Windows, MacOSX e Linux per sviluppatori ASP.NET e Node.js
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- Realizzare una Progressive Web Application con Blazor e ASP.NET Core
- Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
- IISControl: come comandare IIS
- ASP.NET 4.0 AJAX arriva alla Preview 5, in attesa della beta2 di ASP.NET 4.0
- Preview 2 di ASP.NET MVC 2.0 ed una nuova versione per AJAX Control Toolkit
- Docker e ASP.NET Core: portare i nostri siti web su container
- Abilitare e gestire il prerendering nelle applicazioni Blazor WebAssembly