Piacere sono Docker, faccio nascere container!

Docker risolve un problema pratico: mai capitato di passare da un ambiente di test in locale in cui il software gira meravigliosamente bene a uno di produzione in cui subentrano i problemi? La traduzione di docker non è certo idilliaca ma sta ad indicare che fa sempre il suo di lavoro sporco quello più impegnativo ed efficace. Un container è un ambiente di esecuzione per una singola applicazione, un luogo concettualmente perfetto perchè isolato, ottimizzato, in ultima analisi efficiente perché richiede solo il minimo delle risorse indispensabili. Le macchine sono diverse, i sistemi operativi anche e non sempre quando si passa l’applicazione al cliente tutto funziona alla grande. Spostare le applicazioni dal luogo di nascita all’ ambiente di produzione non è sempre una operazione a lieto fine. A questa necessità risponde Docker, lo scaricatore di porto dalla concezione a container. Le macchine virtuali potrebbero risolvere? Virtualizzazione vs containerizzazione! Si ma hanno anche degli svantaggi come operazioni di mantenimento dell’ ambiente che non è fisso ma richiede cura attenzioni e aggiornamenti. Non solo le macchine virtuali assorbono tantissime risorse a livello di RAM! I container invece sono simili alla grafica vettoriale minimalista alla Carver: c’è solo quello che serve ridotto ai minimi termini, massima efficienza con poca benzina! La macchina virtuale astrae l’hardware, il container astrae il sistema operativo come una vaso di terra bagnata che ospita il seme di una piantina. Anche le macchine virtuali e i container possono convivere e spesso queste soluzioni si mettono in atto. Docker ottimizza al massimo l’esportazione e la gestione di applicazioni. Poi può segmentare software monolitici per migliorare le prestazioni. Si tratta di un progetto open source che nasce nel 2013 scritto in GO. Linux è il suo ambiente culla nativo, ma parliamo comunque di una soluzione multipiattaforma che abbraccia windows, MacOs e Linux, macchine desktop e server, piattaforme Cloud, Datacenter. Docker viene fornito in due versioni, la comunity edition e la enterprise edition, dove nella seconda si abbracciano funzionalità più ampie e articolate per le aziende di grandi dimensioni. Il centro nevralgico della tecnologia è Docker Engine che contiene due componenti un docker client e il docker server separato da un hamburger costituito da REST API. L’installazione è intuitiva, si procede con l’installer e al termine si avvia il servizio. Per Windows si usa Docker for Desktop e occorre Windows 10 Pro, abilitazione alla virtualizzazione perchè una parte di RAM va assegnata al programma. Per linux ci sarà un docker.dmg come estensione di file per l’installazione in ogni caso esiste un ampia documentazione per districarsi tra i vari sistemi. Per verificare se l’installazione ha avuto successo è interrogare il sistema per sapere quale versione di docker abbiamo a disposizione con il comando docker –version oppure anche docker version che ci offre un output decisamente più abbondante. I due comandi sono molto diversi perchè nel primo caso chiediamo qualcosa di specifico con i due trattini, ma nel secondo caso non abbiamo passato nessuna opzione e quindi chiesto complessivamente con chi avremo a che fare. Il sistema nel secondo comando ci mostrerà molte informazioni e in particolare sul client docker engine e il server docker engine. Dopo aver effettuato la prova ZERO con la version in due modalità diverse, proviamo un container di prova. Usiamo il comando docker container run hello-world, il primo gradino valido per tutti i software gestiti da shell. Il comando è intuitivo perchè RUN chiarisce bene quello che vogliamo fare (aho esegui il programma!). Questo container viene messo a disposizione dal programma come prova inserita appositamente a sistema. Il comando genererà molto output perchè simula il ciclo di vita di un container, dall’ istanza come immagine, la macchina non vede l’istanza e quindi noi scarichiamo l’immagine dal repository (magazzino di risorse) e il tutto viene materializzato a video! A questo punto il nostro container è stato attivato, anche se in questa prima prova pratica non abbiamo interagito di fatto con l’ambiente ma visualizzato solo l’output con le sue invocazioni del client fino alla nascita effettiva del container.

link utili:

https://www.docker.com/

https://linuxcontainers.org/

https://github.com/rkt/rkt

https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/

https://get.docker.com

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: