Docker è un progetto gratuito e open source per l'automazione della distribuzione di app in contenitori software che fornisce una piattaforma aperta per imballare, spedire ed eseguire qualsiasi applicazione ovunque. Fa un uso eccezionale delle funzionalità di isolamento delle risorse del kernel Linux come cgroup, spazi dei nomi del kernel e file system con capacità di unione. È abbastanza facile e semplice per la distribuzione e il ridimensionamento di app Web, database e servizi di back-end indipendentemente da uno stack o provider particolare. L'ultima versione, ad esempio la versione 1.11.1, include molte funzionalità aggiuntive e correzioni di bug.
In questo articolo, installeremo l'ultimo Docker Engine 1.11.1 in una macchina che esegue Ubuntu 16.04 LTS.
Requisiti di sistema
Di seguito sono riportati i requisiti di sistema essenziali per eseguire l'ultimo Docker Engine in Ubuntu 16.04 LTS Xenial.
- Attualmente richiede una versione a 64 bit dell'host per funzionare, quindi avremo bisogno di una versione a 64 bit di Ubuntu Xenial installata sull'host.
- Poiché è necessario scaricare frequentemente le immagini dei contenitori, sarà necessaria una buona connettività Internet nell'host.
- Assicurati che la CPU della macchina supporti la tecnologia di virtualizzazione e che il supporto per la virtualizzazione sia abilitato nel BIOS.
- Sono supportati Ubuntu Xenial con kernel Linux versione 3.8 e successive.
Aggiornamento e potenziamento di Xenial
Prima di tutto, dovremo aggiornare l'indice del repository locale dei repository Ubuntu dal servizio mirror più vicino in modo da avere l'indice di tutti gli ultimi pacchetti disponibili sul repository tramite Internet. Per farlo, dovremo eseguire il seguente comando in un terminale o una console.
$ sudo apt-get update
Poiché il nostro indice del repository locale è stato aggiornato, aggiorneremo il nostro Ubuntu Xenial agli ultimi pacchetti disponibili nei repository tramite il gestore di pacchetti apt-get.
$ sudo apt-get upgrade
Installazione di Docker Engine
Una volta che il nostro sistema è stato aggiornato, ci sposteremo verso l'installazione dell'ultimo Docker Engine, cioè la versione 1.11, nella nostra macchina che esegue l'ultimo e più grande Ubuntu 16.04 Xenial LTS. Abbiamo molti modi per installarlo in Ubuntu, o eseguiamo un semplice script scritto dagli sviluppatori ufficiali o aggiungiamo manualmente il repository ufficiale di Docker e lo installiamo. Qui, in questo tutorial, mostreremo entrambi i metodi per installare Docker Engine.
Installazione manuale
1. Aggiunta del repository
Prima di tutto, dovremo aggiungere la nuova chiave GPG per il nostro repository docker.
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
Poiché la nuova chiave GPG per il repository docker è stata aggiunta alla nostra macchina, ora dovremo aggiungere il sorgente del repository al nostro elenco di sorgenti apt. Per farlo, useremo un editor di testo e creeremo un file chiamato docker.list nella directory /etc/apt/sources.list.d/.
$ sudo nano /etc/apt/sources.list.d/docker.list
Quindi, aggiungeremo la seguente riga in quel file per aggiungere il repository al sorgente di apt..
deb https://apt.dockerproject.org/repo ubuntu-xenial main
2. Aggiornamento dell'Indice APT
Poiché il nostro repository per docker è stato aggiunto, ora aggiorneremo l'indice del repository locale del gestore di pacchetti APT in modo da poterlo utilizzare per installare l'ultima versione. Per aggiornare l'indice del repository locale, dovremo eseguire il seguente comando all'interno di un terminale o di una console.
$ sudo apt-get update
3. Installazione di extra del kernel Linux
Ora, come raccomandato, installeremo Linux Kernel Extras nella nostra macchina che esegue Ubuntu Xenial. Avremo bisogno di installare questo pacchetto poiché è importante per noi abilitare l'uso del driver di archiviazione aufs. Quindi, per installare il pacchetto del kernel linux-image-extras nella nostra macchina, dovremo eseguire il seguente comando.
$ sudo apt-get install linux-image-extra-$(uname -r)
Qui, poiché abbiamo il kernel linux 4.4.0-22 installato e in esecuzione, verranno installati gli extra del kernel linux del rispettivo kernel.
4. Installazione di Docker Engine
Una volta che tutto è impostato e fatto, andremo ora verso la parte principale del lavoro in cui installeremo l'ultimo motore docker nella nostra ultima macchina Ubuntu 16.04 LTS Xenial. Per farlo, dovremo eseguire il seguente semplice comando apt-get.
$ sudo apt-get install docker-engine
Infine, abbiamo terminato l'installazione di Docker Engine, una volta terminato il processo di installazione, andremo ora al passaggio successivo in cui aggiungeremo il nostro attuale utente in esecuzione al gruppo Docker.
Installazione One-Script
Se vogliamo automatizzare tutto ciò che è stato fatto sopra nel metodo di installazione manuale, dovremo seguire questo passaggio. Come detto sopra, gli sviluppatori Docker hanno scritto un fantastico script che installerà il motore Docker nella nostra macchina che esegue Ubuntu 16.04 LTS Xenial in modo completamente automatizzato. Questo metodo è abbastanza veloce, facile e semplice da eseguire. Una persona con poca conoscenza di Ubuntu 16.04 può facilmente installare la finestra mobile usando questo script. Quindi, prima di iniziare, dovremo assicurarci che wget sia installato nella nostra macchina. Per installare wget downloader, dovremo eseguire il seguente comando.
$ sudo apt-get install wget
Una volta che get downloader è installato nella nostra macchina, dovremo eseguire il seguente comando wget per eseguire lo script ufficiale della finestra mobile per installare l'ultimo motore Docker.
$ wget -qO- https://get.docker.com/ | sh
Aggiunta utente al gruppo Docker
Ora aggiungeremo i nostri utenti al gruppo Docker, in questo modo il daemon Docker potrà fornire le autorizzazioni agli utenti nella finestra mobile del gruppo per avere l'autenticazione per eseguire e gestire i contenitori Docker.
$ sudo usermod -aG docker arun
Una volta terminato, dovremo disconnetterci e accedere nuovamente al sistema per applicare le modifiche in vigore.
Avvio del demone Docker
Successivamente, avvieremo il nostro Docker Daemon in modo da poter eseguire, gestire e controllare i contenitori, le immagini nella nostra macchina Ubuntu. Poiché Ubuntu 16.04 LTS Xenial esegue systemd come sistema di inizializzazione predefinito, dovremo eseguire il seguente comando systemctl per avviare il demone docker.
$ sudo systemctl start docker
Verifica della versione
Quando il nostro demone Docker è stato avviato, testeremo se è installato e funziona correttamente o meno controllando la versione del motore Docker installato nella nostra macchina.
$ docker -v
Docker version 1.11.1, build 5604cbe
Quindi, poiché la versione 1.11.1 è stata rilasciata e disponibile al momento della stesura di questo articolo, dobbiamo vedere l'output sopra.
Contenitori Docker in esecuzione
Ora eseguiremo il nostro primo contenitore Docker in questo passaggio. Se tutto quanto sopra è configurato ed eseguito correttamente come previsto, ora saremo in grado di eseguire un container. Qui in questo tutorial, eseguiremo il nostro contenitore di test preferito di tutti i tempi chiamato Hello World. Per eseguire hello-world container, dovremo eseguire il seguente comando docker.
$ docker run hello-world
Ora, in questo modo dovrebbe stampare un output "Hello from Docker". dal contenitore. Questo verifica che abbiamo installato correttamente il motore Docker ed è in grado di eseguire il container su di esso.
Per verificare quali immagini sono state estratte durante l'esecuzione del contenitore hello-world, dovremo eseguire il seguente comando docker.
$ docker images
Gestione della finestra mobile
Poiché la nostra finestra mobile funziona correttamente, dovremo anche imparare a gestirla. In questo tutorial, daremo uno sguardo ad alcuni comandi di base della finestra mobile che vengono utilizzati per interrompere, rimuovere, estrarre un contenitore della finestra mobile e immagini.
Arresto di un container in funzione
Ora, se vogliamo fermare un container in esecuzione, dovremo prima eseguire il comando seguente per vedere l'elenco dei container in esecuzione.
$ docker ps -a
Quindi, dovremo eseguire il seguente comando Docker Stop con il rispettivo ID contenitore.
$ docker stop 646ed6509700
Rimozione di un contenitore
Per rimuovere un container fermo, dovremo eseguire il comando seguente specificando l'ID del container fermo e inutilizzato.
$ docker rm 646ed6509700
Estrarre un'immagine
Per estrarre un'immagine della finestra mobile, dovremo eseguire il comando pull.
$ docker pull ubuntu
Il comando precedente estrae l'ultima immagine di Ubuntu dall'hub del registro Docker.
Rimozione di un'immagine
È abbastanza facile rimuovere un contenitore mobile, per prima cosa dovremo elencare le immagini disponibili nella nostra macchina.
$ docker images
Quindi, eseguiremo il seguente comando per rimuovere quell'immagine.
$ docker rmi ubuntu
Abbiamo molti comandi per gestirlo, possiamo vedere di più nella documentazione ufficiale di Docker.
Conclusione
Docker è una straordinaria tecnologia che ci consente di imballare, eseguire e spedire facilmente l'applicazione indipendentemente dalla piattaforma. È abbastanza facile installare ed eseguire l'ultimo Docker Engine nell'ultima versione di Ubuntu, ad esempio Ubuntu 16.04 LTS Xenial. Una volta completata l'installazione, possiamo procedere ulteriormente verso la gestione, il collegamento in rete e altro ancora con i container. Quindi, se hai domande, suggerimenti, feedback, scrivili nella casella dei commenti qui sotto.