lunedì , Dicembre 9 2019
Ultime Notizie
Home / Linux / Introduzione a Docker

Introduzione a Docker

Ciao Ragazzi,

oggi parliamo di Docker. Docker è un sistema di virtualizzazione e di astrazione diverso da quello che è il concetto a cui siamo abituati con le macchine virtuali.

Il concetto su cui si basa è quello dei container: ovvero porzioni di spazio di un unico sistema operativo, isolati fra di loro. I container condividono quindi un unico sistema operativo e, in alcuni casi, parte delle sue librerie e binari, ma aggiungono un livello di separazione nell’utilizzo di nuove.

La differenza con le macchine virtuali si può capire dall’immagine seguente:

Mentre le macchine virtuali astraggono le risorse fisiche “costruendo” su un altro sistema operativo (indipendente per ogni macchina), i container sono costruiti su un unico sistema operativo e astraggono solo le librerie/eseguibili basandosi su quelle che sono definite images. Ogni immagine porta con se le sue dipendenze, le sue librerie, i suoi eseguibili ma il tutto avviene su un unico sistema operativo base.

A parte una differenza strutturale, come si può immaginare, i container sono molto più rapidi da costruire e distruggere perchè basta semplicemente fare il pull dell’immagine e farla partire, mentre con le vm la questione è più complessa (anche se largamente ottimizzabile con tool come Ansible)

Rispetto alle virtual machine, i container hanno principalmente questi vantaggi:

  • Processi multipli su un unico S.O.
  • Riduzione del consumo di risorse IT
  • Riduzione della dimensione degli snapshots
  • Deploy più rapido e soprattutto multi-piattaforma
  • Vantaggi nella migrazione

Beh finita un po’ di teoria, che non guasta mai, passiamo a qualche esempio pratico, per prima cosa l’installazione:

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
apt install docker-ce

Fatto questo installiamo docker-compose che fondamentalmente ci permette di istanziare nuovi container parte da un file di configurazione yml:

curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Vediamo adesso alcuni comandi utili:

– Download Debian Container from Docker Hub
docker pull debian

– Avvio Container
docker run debian

– Avvio Container Shell
docker run -it debian /bin/bash

Rimuovere Container
1) docker container stop Container_ID
2) docker container rm Container_ID

Elenco Container
docker container ls -a

– Elenco Container Attivi
docker container ls

– Elenco Volumi
docker volume ls

Dettagli Volume
docker volume inspect Volume_ID

– Elenco Immagini
docker images

– Rimuovere Immagine
docker rmi Image_NAME

– Avviare Container con file di configurazione .yml
Nella cartella dove c’è il file docker-compose.yml dare il comando:

docker-compose -d up

Spero che vi sia interessata questa breve panoramica, al momento pur essendo un prodotto ormai da anni in circolazione ho deciso di iniziare ad approfondirlo adesso che sembra maturo!

Enjoy!

Info Paolo Daniele

Ingegnere delle Telecomunicazioni, appassionato di informatica fin da piccolo ho trasformato la passione in lavoro. Con il PHP faccio tutto (o quasi...) ma non disprezzo altri linguaggi all'occorrenza. Se vi piace il mio sito, o vi è utile, o vi sto simpatico, offritemi una birra!

Ti potrebbe interessare

VestaCP: Aggiornare PHP alla versione 7.x

Ciao Ragazzi, oggi parliamo di Vesta Control Panel (VestaCP), un ottimo prodotto per la gestione …

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *