Software

Docker e il mondo dei container

Un’introduzione a Docker, per capire i vantaggi che può portare in azienda

Michele Pisarri Maggio, 2020
Docker e il mondo dei container

Nell’era moderna, con il crescere dei servizi offerti in ambito IT, uno dei temi chiave per avere un processo di qualità, è la gestione e la distribuzione del software.

Per un business di successo, oggi più che mai, automatizzare e garantire cicli di vita per lo sviluppo ed il rilascio software efficienti e rapidi è diventato di vitale importanza; per anni è stata una tematica che in maniera considerevole, erroneamente, molti hanno messo da parte, ma nell’ultimo decennio, anche grazie allo sviluppo di nuove tecnologie, è diventata il fulcro nella progettazione di un’architettura.

Questo scenario ha portato alla nascita della CI/CD (Continuous Integration e Continuous Delivery), e più in generale al modello DevOps. Tali nuovi modelli si fondano su varie tecnologie che ne permettono l'implementazione, come ad esempio Docker e Kubernetes.

In questo articolo faremo una breve introduzione a Docker, per descrivere come questa tecnologia può aiutarci all’interno della nostra azienda.

Docker

Docker è un progetto open-source, nato nel 2013, ideato per semplificare la creazione, lo sviluppo, il rilascio e l'esecuzione di applicazioni tramite delle unità standardizzate chiamate container. La tecnologia è pensata per sviluppatori e sys-admin e facilita dunque la creazione, la distribuzione e l'esecuzione di applicazioni.

Docker utilizza il kernel di Linux e le sue funzionalità di isolamento, come ad esempio cgroup e namespace, per isolare i processi in modo da poterli eseguire in maniera indipendente, ed è proprio l’isolamento uno dei punti di forza: questo nuovo modello va in contrapposizione al classico utilizzo delle Virtual Machine, infatti permette di eseguire più processi e applicazioni in modo segregato grazie ai “container”.

I container, quindi, contengono il nostro software con tutto necessario per la sua corretta esecuzione, incluse librerie, strumenti di sistema, codice e runtime.

Inoltre un container è quasi una macchina virtuale. I container e le macchine virtuali, infatti, hanno simili vantaggi di isolamento e allocazione delle risorse, ma funzionano in modo diverso: a differenza delle VM, piuttosto che creare un intero sistema operativo virtuale, Docker permette alle applicazioni di condividere parti del kernel del sistema operativo ospitante, isolando i processi applicativi dal resto dell’infrastruttura. Questo porta ad un significativo aumento delle prestazioni e riduce le dimensioni dell’applicativo.

Bisogna specificare che i container non sono un'alternativa alle VM, e viceversa. Entrambi possono essere utilizzati insieme, offrendo così una grande flessibilità nella distribuzione e nella gestione delle applicazioni.


Il processo di distribuzione di un’applicazione si riduce quindi alla semplice creazione di un' immagine, ovvero di un file contenente tutti i dati. L’immagine è in seguito utilizzata per creare un container, un’istanza
dell’immagine. 

Corso Udemy

Certimeter Group ha realizzare un corso su Docker, all'interno di Udemy, piattaforma leader mondiale dell’e-learning. Il corso in questione ha lo scopo di introdurre sia sviluppatori che sys-admin nel mondo dei container. Per seguire il corso non occorrono requisiti particolari, se non una conoscenza base di Linux.

Il programma è pensato per studiare questa tecnologia partendo “da zero”, per arrivare in seguito a conoscere più dettagliamente il mondo di Docker.

Pronti per iniziare? Qui trovate il nostro corso Introduzione a Docker

Articoli correlati

Software

Articoli in evidenza

Approfondimenti

UNISCITI A NOI. INVIA LA TUA CANDIDATURA

Certimeter Group crede nei valori, nella passione e nella professionalità delle persone.