Microsoft .NET 6 su Ubuntu: disponibile nativamente e con le immagini docker

3

Sappiamo che Microsoft sta aprendo sempre di più al mondo open-source e che, tra i vari software disponibili messi a disposizione, sempre più spesso abbiamo l’opportunità di veder girare programmi dell’azienda di Redmond sui nostri amati sistemi operativi liberi.

L’ultima novità riguarda la piattaforma di sviluppo .NET 6 che, seppur disponibile da Novembre scorso e compilabile anche sul nostro pinguino, è stata, adesso, ufficialmente rilasciata per Ubuntu ed inserita nei repository ufficiali.

Basterà, infatti, un secco:

# apt update
# apt install dotnet6

E potremo iniziare ad utilizzare l’SDK di Microsoft. Oltre a questo, però, sono state rilasciate ben 3 immagini di container basate su Chieseled Ubuntu Container 22.04 contenenti il runtime per .NET.

Se non ne aveste mai sentito parlare, Chiseled Ubuntu Container è un nuovo approccio che sta seguendo Canonical al fine di ottenere immagini di container ridotte all’osso. Questo porta dei vantaggi sia in termini di dimensioni dell’immagine (circa 100MB in meno di quelle standard) che, ovviamente, in termini di superficie di attacco delle stesse.

Queste tre immagini sono disponibili nei repository nightly di Microsoft e sono, relativamente:

mcr.microsoft.com/dotnet/nightly/runtime-deps:6.0-jammy-chiseled
mcr.microsoft.com/dotnet/nightly/runtime:6.0-jammy-chiseled
mcr.microsoft.com/dotnet/nightly/aspnet:6.0-jammy-chiseled

Di fatto, si tratta di 3 livelli distinti di avanzamento, da utilizzare a seconda di dove le vostre customizzazioni partono.

Ubuntu now has an end-to-end story from development to production with ultra-small supported container images, starting with the .NET platform. We think it’s a huge improvement for both our communities; collaborating with the .NET team at Microsoft has enabled us to go above and beyond

Ubuntu adesso ha una storia completa dallo sviluppo alla produzione con immagini di container ultra-compatte e supportate, iniziando con la piattaforma .NET. Pensiamo che sia un incredibile miglioramento per entrambe le nostre community; collaborare con il team .NET in Microsoft ci ha permesso di superare i limiti.

Questo quanto detto da Valentin Viennot, Product Manager di Canonical, che si sta occupando -tra le altre cose- dell’integrazione e del supporto ufficiale dell’SDK .NET sul sistema operativo dell’azienda di Mark Shuttleworth.

Se preferite evitare l’uso in produzione (cosa sempre ideale) di immagini provenienti da repository nightly (quindi aggiornate ogni notte), Canonical stessa ha reso disponibili delle immagini più testate sul Docker Hub:

  • https://hub.docker.com/r/ubuntu/dotnet-deps
  • https://hub.docker.com/r/ubuntu/dotnet-runtime
  • https://hub.docker.com/r/ubuntu/dotnet-aspnet

Sicuramente un passo in avanti, questo, che garantirà agli sviluppatori che devono (o scelgono) di utilizzare .NET di poter lavorare in maniera più fluida dai sistemi Linux e di erogare le loro stesse applicazioni da un sistema che, probabilmente, considerano più familiare.

Utente Linux/Unix da più di 20 anni, cerco sempre di condividere il mio know-how; occasionalmente, litigo con lo sviluppatore di Postfix e risolvo piccoli bug in GNOME. Adoro tutto ciò che può essere automatizzato e reso dinamico, l’HA e l’universo container. Autore dal 2011, provo a condividere quei piccoli tips&tricks che migliorano il lavoro e la giornata.