In questa guida vedremo cos'è Docker, come installare Docker in Ubuntu Linux. Inoltre, illustreremo anche come installare Docker Compose, uno strumento per definire ed eseguire applicazioni Docker multi-container.
Cos'è Docker?
Docker è una tecnologia di virtualizzazione veloce, leggera ea livello di sistema operativo per sviluppatori e amministratori di sistema che desiderano creare un'applicazione con tutte le dipendenze richieste e spedirla come un unico pacchetto.
A differenza di altri metodi di virtualizzazione, come VMWare, Xen e VirtualBox, non è necessario un sistema operativo guest separato per ciascuna macchina virtuale.
Tutti i container Docker condividono in modo efficiente il kernel del sistema operativo host. Ciascun container verrà eseguito in uno spazio utente isolato nello stesso sistema operativo.
I container Docker funzioneranno anche su qualsiasi variante di Linux. Diciamo che stai lavorando in Fedora e io sto usando Ubuntu. Possiamo ancora sviluppare, condividere e distribuire le immagini Docker tra loro.
Non devi preoccuparti del sistema operativo, del software, delle impostazioni personalizzate o altro. Possiamo continuare lo sviluppo fintanto che Docker è installato nel nostro sistema host. In poche parole, Docker funzionerà ovunque!
Hai letto due termini nei paragrafi precedenti, vale a dire Immagini Docker e Contenitori Docker . Potresti chiederti, cosa sono in realtà e qual è la differenza tra loro?
In parole povere, un'immagine Docker è un file che descrive come dovrebbe comportarsi un contenitore, mentre il contenitore Docker è lo stato in esecuzione (o interrotto) dell'immagine Docker.
Spero che tu abbia un'idea di base su Docker. Fare riferimento alla guida utente ufficiale di Docker per maggiori dettagli. Il link è allegato alla fine di questa guida.
Requisiti Docker
Per installare e configurare Docker, il tuo sistema deve soddisfare i seguenti requisiti minimi.
- 64 bit Sistemi operativi Linux o Windows;
- Se sei su Linux, la versione del kernel dovrebbe essere 3.10 o superiore.
- Il tuo sistema dovrebbe essere connesso a Internet.
In Linux, per verificare i dettagli del kernel e dell'architettura, esegui il seguente comando dal Terminale:
$ uname -a
Output di esempio:
Linux ubuntuserver 4.15.0-91-generico #92-Ubuntu SMP ven 28 febbraio 11:09:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Come vedi nell'output sopra, la versione del kernel del mio sistema Ubuntu è 4.15.0-91-generic e l'architettura del mio sistema Ubuntu è 64 bit (x86_64 x86_64 x86_64 GNU/Linux ). Controlla le lettere in grassetto nel risultato sopra.
Beh, la versione del kernel è superiore al requisito minimo e l'arch è a 64 bit. Quindi, possiamo installare e utilizzare Docker senza problemi.
Tieni presente che non importa quale sistema operativo Ubuntu utilizzi. Inoltre, non importa se utilizzi l'edizione Ubuntu Desktop o Ubuntu Server o qualsiasi altra variante di Ubuntu come Lubuntu, Kubuntu, Xubuntu.
Docker funzionerà bene purché tu abbia la versione del kernel 3.10+ e l'arco del tuo sistema sia a 64 bit.
Installa Docker in Ubuntu 18.04 LTS
Prima di tutto, aggiorna il tuo sistema Ubuntu.
Per farlo, apri il tuo Terminale ed esegui i seguenti comandi uno per uno:
$ sudo apt-get update
$ sudo apt-get upgrade
Docker non è disponibile nei repository ufficiali di Ubuntu. Quindi aggiungeremo il repository Docker per ottenere l'ultima versione di Docker.
Prima di tutto, installa i certificati necessari e permetti apt gestore di pacchetti per utilizzare un repository su HTTPS utilizzando il comando:
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Quindi, aggiungi la chiave GPG ufficiale di Docker:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Verifica se la chiave è stata aggiunta con l'impronta digitale 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 , cercando gli ultimi 8 caratteri dell'impronta digitale:
$ sudo apt-key fingerprint 0EBFCD88
Dovresti vedere un output come di seguito.
pub rsa4096 22-02-2017 [SCEA] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88uid [ sconosciuto] Docker Release (CE deb) <[email protected]>sub rsa4096 22-02-2017 [S]
Aggiungi il repository ufficiale Docker:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Infine, esegui il comando seguente per installare l'ultima Docker CE nel server LTS di Ubuntu 18.04:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
Installa la finestra mobile in Ubuntu
Ovviamente puoi anche installare una versione Docker specifica. Per controllare l'elenco delle versioni Docker disponibili, esegui:
$ apt-cache madison docker-ce
Risultato di esempio:
docker-ce | 5:19.03.8~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:19.03.7~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:19.03.6~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:19.03.5~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:19.03.4~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:19.03.3~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:19.03.2~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:19.03.1~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:19.03.0~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:18.09.9~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:18.09.8~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:18.09.7~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:18.09.6~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:18.09.5~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:18.09.4~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:18.09.3~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:18.09.2~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:18.09.1~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 5:18.09.0~3-0~ubuntu-bionico | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 18.06.3~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 18.06.2~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packagesdocker-ce | 18.03.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Pacchetti
Puoi scegliere qualsiasi versione disponibile dall'elenco sopra e installarla. Ad esempio, per installare la versione 5:18.09.2~3-0~ubuntu-bionic , esegui:
$ sudo apt install docker-ce=5:18.09.2~3-0~ubuntu-bionic docker-ce-cli=5:18.09.2~3-0~ubuntu-bionic containerd.io
Una volta installato, verifica se il servizio Docker è in esecuzione con il comando:
Finestra mobile $ systemctl
Vedrai un output simile a quello di seguito.
● docker.service - Motore del contenitore dell'applicazione Docker Caricato:caricato (/lib/systemd/system/docker.service; abilitato; preimpostazione del fornitore:abilitato) Attivo:attivo (in esecuzione) da ven 2020-04-10 10:39:00 UTC; 3min 40s fa Documenti:https://docs.docker.com PID principale:14610 (dockerd) Compiti:8 CGroup:/system.slice/docker.service └─14610 /usr/bin/dockerd -H fd:// - -containerd=/run/containerd/containerd.sockApr 10 10:38:55 ubuntuserver dockerd[14610]:time="2020-04-10T10:38:55.800086650Z" level=warning msg="Il tuo kernel non supporta la memoria di scambio limit"10 aprile 10:38:55 ubuntuserver dockerd[14610]:time="2020-04-10T10:38:55.801329697Z" level=warning msg="Il tuo kernel non supporta il periodo cgroup rt"10 aprile 10:38:55 ubuntuserver dockerd[14610]:time="2020-04-10T10:38:55.801659115Z" level=warning msg="Il tuo kernel non supporta cgroup rt runtime"Apr 10 10:38:55 ubuntuserver dockerd[14610]:time ="2020-04-10T10:38:55.802348633Z" level=info msg="Caricamento contenitori:inizio."Apr 10 10:38:57 ubuntuserver dockerd[14610]:time="2020-04-10T10:38:57.965216155 Z" level=info msg="Il bridge predefinito (docker0) viene assegnato con un indirizzo IP 172.17.0.0/16. Apr 10 10:38:58 ubuntuserver dockerd[14610]:t ime="2020-04-10T10:38:58.779021136Z" level=info msg="Caricamento contenitori:fatto."Apr 10 10:38:59 ubuntuserver dockerd[14610]:time="2020-04-10T10:38:59.283684712Z" level=info msg="Docker daemon" commit=afacb8b7f0 graphdriver(s)=overlay2 version=19.03.Apr 10 10:38:59 ubuntuserver dockerd[14610]:time="2020-04-10T10:38:59.286277513 Z" level=info msg="Daemon ha completato l'inizializzazione"10 aprile 10:39:00 ubuntuserver systemd[1]:avviato Docker Application Container Engine.10 aprile 10:39:00 ubuntuserver dockerd[14610]:time="2020- 04-10T10:39:00.306773751Z" level=info msg="API ascolta su /var/run/docker.sock"
Grande! Il servizio Docker è attivo e funzionante!
Se non è già stato avviato, esegui il comando seguente per avviarlo.
Docker di avvio $ sudo systemctl
Abilita il servizio Docker per l'avvio automatico ad ogni riavvio:
$ sudo systemctl abilita la finestra mobile
La versione Docker installata può essere trovata usando il comando:
versione della finestra mobile $ sudo
Risultato di esempio:
Client:Docker Engine - Community Version:19.03.8 API version:1.40 Go version:go1.12.17 Git commit:afacb8b7f0 Costruito:Wed Mar 11 01:25:46 2020 OS/Arch:linux/amd64 Experimental:falseServer:Docker Engine - Community Engine:Versione:19.03.8 Versione API:1.40 (versione minima 1.12) Versione go:go1.12.17 Git commit:afacb8b7f0 Costruito:mercoledì 11 marzo 01:24:19 2020 OS/Arch:linux/amd64 Sperimentale:false containerd:Versione:1.2.13 GitCommit:7ad184331fa3e55e52b890ea95e65ba581ae3429 runc:Versione:1.0.0-rc10 GitCommit:dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init:Versione:G6Commit:fec3>0.18.0Controlla la versione della finestra mobile in Linux
Test Docker
Andiamo avanti e verifichiamo se Docker funziona o meno.
Per farlo, esegui:
$ sudo docker esegui ciao-mondoIl comando precedente scaricherà un'immagine Docker di prova ed eseguirà un esempio hello_world programma all'interno del contenitore.
Se vedi un output simile a quello di seguito, congratulazioni! Docker funziona bene nel nostro sistema Ubuntu.
Impossibile trovare l'immagine 'hello-world:latest' localmentelatest:Pulling from library/hello-world1b930d010525:Pull complete Digest:sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4eStatus:Docker newer image for hello-world:Hello! forte> Questo messaggio mostra che la tua installazione sembra funzionare correttamente. Per generare questo messaggio, Docker ha eseguito i seguenti passaggi:1. Il client Docker ha contattato il daemon Docker. 2. Il demone Docker ha estratto l'immagine "hello-world" dal Docker Hub. (amd64) 3. Il demone Docker ha creato un nuovo contenitore da quell'immagine che esegue l'eseguibile che produce l'output che stai attualmente leggendo. 4. Il demone Docker ha trasmesso quell'output al client Docker, che lo ha inviato al tuo terminale. Per provare qualcosa di più ambizioso, puoi eseguire un contenitore Ubuntu con:$ docker run -it ubuntu bashCondividi immagini, automatizza i flussi di lavoro e altro con un ID Docker gratuito:https://hub.docker.com/Per altri esempi e idee, visita:https://docs.docker.com/get-started/Esegui il contenitore mobile Hello World
Fantastico! Docker è pronto per l'uso.
Esegui Docker come utente non root in Linux
Per impostazione predefinita, il demone Docker si collega a un socket Unix anziché a una porta TCP. Dal momento che quel socket Unix è di proprietà della radice utente, il demone Docker verrà eseguito solo come utente root. Pertanto, gli utenti normali non possono eseguire la maggior parte dei comandi Docker.
Se desideri eseguire Docker come utente non root in Linux, fai riferimento alla seguente guida:
- Come eseguire Docker come utente non root in Linux
Installa Docker Compose in Ubuntu
Composizione Docker è uno strumento che può essere utilizzato per definire ed eseguire applicazioni Docker multi-container. Con Compose, utilizzi un file Compose per configurare i servizi della tua applicazione. Quindi, utilizzando un unico comando, puoi creare e avviare tutti i servizi dalla tua configurazione.
Possiamo installare Docker Compose utilizzando uno dei seguenti metodi.
Metodo 1:
Scarica l'ultima Docker Compose da qui .
Al momento della stesura di questo, l'ultima versione era 1.25.5 .
Esegui il comando seguente per scaricare l'ultimo file di composizione Docker stabile:
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o / usr/local/bin/docker-compose
Se è disponibile una nuova versione, sostituisci semplicemente il numero 1.25.5 nel comando precedente con il nuovo numero di versione.
Infine, applica le autorizzazioni eseguibili al binario usando il comando:
$ sudo chmod +x /usr/local/bin/docker-compose
Metodo 2:
In alternativa, possiamo installare Docker Compose utilizzando PIP . Pip è un gestore di pacchetti Python utilizzato per installare applicazioni scritte nel linguaggio di programmazione Python.
Fai riferimento alla seguente guida per installare Pip sul tuo sistema.
- Come gestire i pacchetti Python utilizzando Pip
Una volta installato pip, esegui il comando seguente per installare docker compose. Il comando seguente è lo stesso per tutte le distribuzioni Linux!
$ pip install docker-compose
Dopo aver installato Docker Compose, puoi controllare la versione con il comando:
$ docker-compose --version
Vedrai un output simile a quello di seguito.
versione di composizione mobile 1.25.5 , compila 8a1c60f6
Congratulazioni! Abbiamo installato con successo Docker Community Edition e Docker Compose.
Ho installato Docker, e adesso? Consulta il prossimo articolo di questa serie per apprendere le nozioni di base su Docker.
- Iniziare con Docker
Per installare Docker in sistemi basati su RPM come RHEL, Fedora, CentOS, Scientific Linux e openSUSE, controlla il seguente link.
- Installa Docker in CentOS
Inoltre, scarica e usa i seguenti ebook Docker per saperne di più su Docker.
Scarica - eBook gratuito:"Docker Containerization Cookbook" Scarica - Guida gratuita:"Capire Docker" Scarica - Guida gratuita:"Cos'è Docker e perché è così popolare?" Scarica - Guida gratuita:"Introduzione a Docker" Scarica - Guida gratuita:"Docker in produzione"E per ora è tutto. Spero che questo aiuti.