Visual Studio 2017 e il supporto a Docker per ASP.NET Core

di Marco De Sanctis, in ASP.NET Core,

Non c'è dubbio che Docker e i container rappresentino una vera e propria rivoluzione, non solo dal punto di vista di come distribuiamo le nostre applicazioni, ma anche sotto l'aspetto dello sviluppo, di come installiamo tutte le dipendenze sulle nostre workstation e di come effettuiamo il testing.

In precedenza, abbiamo introdotto un po' tutti i concetti che stanno alla base di questa tecnologia: abbiamo visto che un container è un qualcosa di assimilabile a una Virtual Machine, ma molto più leggero, e che può essere distribuito sotto forma di immagini memorizzate in un registro come – ma non necessariamente – Docker Hub. Ma soprattutto, abbiamo visto come Visual Studio 2017 offra un notevole supporto alla containerizzazione, rendendo quasi automatizzata la procedura di porting di un progetto su Docker.

In questo articolo, vogliamo andare un po' più a fondo di questi concetti, cercando di capire nel dettaglio come funziona il nuovo Dockerfile introdotto con l'Update 15.5, e quali sono le tecniche che ci consentono, per esempio, di effettuare il debug di un progetto come se girasse sulla nostra macchina host.

Visual Studio 2017 e il supporto a Docker

Visual Studio 2017 possiede un supporto integrato a Docker grazie alla presenza, anche nell'installazione di default, dei cosiddetti Visual Studio tools for Docker, una serie di utility che ci consentono di effettuare tutta una serie di operazioni per portare la nostra applicazione sui container, direttamente dall'interno dell'ambiente di sviluppo. L'unico pre-requisito è quello di aver installato Docker for Windows, seguendo le istruzioni che abbiamo pubblicato nel precedente articolo su Docker.

Tutte le volte che creiamo un'applicazione web, sia essa basata su ASP.NET classico che ASP.NET Core, abbiamo la possibilità di abilitare il supporto a Docker semplicemente clickando sull'apposita checkbox:

Figura 1

Nel caso in cui abbiamo scelto di utilizzare ASP.NET Core e, in particolare, .NET Core, avremo anche la possibilità di selezionare i Linux container come piattaforma target; in caso contrario resteremo vincolati a Windows.

Figura 2

Gli esempi che vedremo nel corso di questo articolo riguardano principalmente la casistica di ASP.NET Core su Linux Containers. In ogni modo i concetti sono grossomodo gli stessi utilizzando i Windows Containers.

Se invece abbiamo a che fare con un'applicazione esistente, possiamo comunque aggiungere Docker al nostro progetto in un secondo momento, semplicemente facendo click con il tasto destro sul progetto e selezionando Add -> Docker support. Il risultato che otterremo sarà esattamente il medesimo.

Aggiungere Docker a un progetto ASP.NET

Prima di procedere oltre, è necessario fermarsi per fare il punto su ciò che stiamo cercando di ottenere: cosa significa aggiungere il supporto a Docker a un progetto ASP.NET? La risposta è molto semplice: vogliamo essere in grado di impacchettare l'applicazione, unitamente a tutte le sue dipendenze, all'interno di un'immagine Docker, così che possiamo distribuirla sfruttando Docker Hub o un registry privato della nostra azienda. Questo è lo scopo del file Dockerfile che viene aggiunto in automatico ai progetti, ossia presentare al Docker Engine una serie di step necessari per costruire l'immagine di cui abbiamo bisogno.

4 pagine in totale: 1 2 3 4
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc