Docker è uno strumento popolare per sviluppare e distribuire software in pacchetti noti come container. Ubuntu è una delle distribuzioni Linux più popolari ed è un sistema operativo ben supportato da Docker.
L’installazione di Docker su Ubuntu crea una piattaforma ideale per i vostri progetti di sviluppo, perché usa macchine virtuali leggere che condividono il kernel del sistema operativo di Ubuntu. Questo tutorial vi spiegherà 4 modi per farlo.
Maggiori Informazioni su Docker
Docker aiuta a rendere portatili le applicazioni permettendovi di costruirle ed eseguirle su qualsiasi host Docker. L’immagine di un container può essere utilizzata senza modifiche ovunque Docker sia disponibile, dal vostro laptop al cloud. Questo semplifica l’esperienza di chi sviluppa eliminando le differenze tra gli ambienti di esecuzione. Il formato dei container è anche facile da distribuire su più macchine fisiche, consentendovi di scalare facilmente le applicazioni in risposta alle mutevoli richieste.
Docker include tutto ciò di cui avete bisogno per creare ed eseguire immagini di container, sia che provengano da Docker Hub e altri registri pubblici, sia che siano i vostri file Docker.
Prepararsi a Installare Docker su Ubuntu
Potete installare l’ultima versione di Docker sulle versioni 18.04, 20.04, 21.10 e 22.04 di Ubuntu. Sono supportate le architetture x64_64/AMD64, ARMhf, ARM64 e S390x.
Esistono diversi modi per installare Docker e la scelta dipenderà dalle funzionalità di cui avete bisogno e dall’approccio che preferite alla gestione dei pacchetti. In questa guida scoprirete tutte le opzioni possibili.
Scegliere un Docker Flavor
Docker su Linux tradizionalmente si usava solo da terminale. Un’installazione funzionante comprende Docker Engine, un daemon che esegue i container, e l’interfaccia a riga di comando (CLI) docker
per interagire con il daemon.
Docker Desktop è un modo alternativo di usare Docker. Storicamente disponibile solo su Windows e Mac, è stato lanciato per Linux nel maggio 2022. Docker Desktop su Ubuntu richiede un processore AMD64 e Ubuntu 21.10 o 22.04. Fornisce un’interfaccia grafica per la gestione dei container, un cluster Kubernetes integrato e il supporto per estensioni di terze parti. Docker Desktop offre anche le CLI docker
e Docker Compose.
Docker Desktop è diverso da Docker Engine perché usa una macchina virtuale per eseguire i vostri container (per questo motivo Docker Desktop è necessario per gli utenti di Windows e MacOS). Sebbene sia possibile usare entrambe le versioni su Ubuntu, potreste trovare dei conflitti tra le versioni di docker
CLI. È meglio sceglierne una e attenersi a quella. Scegliete Docker Engine se vi sentite a vostro agio con il terminal e se volete il miglior supporto e le migliori prestazioni. La VM di Docker Desktop lo rende leggermente più pesante ma è la scelta migliore se volete un’interfaccia utente integrata o se volete usare Kubernetes.
Installare Docker Engine su Ubuntu
Docker Engine è il metodo standard per eseguire Docker su Ubuntu. Funziona con tutte le versioni e gli ambienti supportati, da un computer Ubuntu Desktop locale all’host cloud Ubuntu Server. Assicuratevi di usare una versione di Ubuntu 18.04 o più recente prima di continuare.
Docker Engine ha 3 diversi metodi di installazione:
- Un repository ufficiale di Ubuntu
apt
- Un pacchetto Debian indipendente (
.deb
) - Uno script di installazione automatica
L’opzione 1, il repository Ubuntu apt
, è la più usata. Aggiunge Docker all’elenco dei pacchetti in modo da poter installare facilmente gli aggiornamenti futuri eseguendo apt upgrade
. L’opzione 2 non supporta gli aggiornamenti automatici, ma è ideale per l’installazione di Docker su sistemi offline air-gapped. Lo script di installazione automatica è il metodo più semplice per iniziare, ma è configurato solo per un uso di sviluppo. Docker ne sconsiglia l’uso in ambienti di produzione.
Usate il repository apt
quando lavorate con un sistema di produzione, volete aggiornamenti semplici o avete bisogno di usare lo stesso meccanismo in tutti gli ambienti.
Usate lo script di installazione automatica se volete un’esperienza di configurazione rapida mentre sperimentate Docker sul vostro computer.
1. Installare Docker Con il Repository apt
Docker pubblica i pacchetti nel proprio repository apt
. Dovrete aggiungere questo repository all’elenco delle fonti di apt
, altrimenti l’installazione di apt
non sarà in grado di trovare i pacchetti Docker.
Iniziate ad aggiornare l’elenco dei pacchetti esistenti e installate alcune dipendenze per i passi successivi. Gli strumenti ca-certificates
, curl
, gnupg
e lsb_release
saranno utilizzati per scaricare i dettagli del repository Docker apt
corretto e la chiave di firma per il vostro sistema. Anche se probabilmente avete già questi pacchetti, non fa male assicurarsi che siano disponibili.
$ sudo apt update
$ sudo apt install ca-certificates curl gnupg lsb-release
Successivamente, registrate il portachiavi GPG di Docker con apt. Questo permetterà a apt
di convalidare i pacchetti Docker installati.
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
Il comando curl
scarica la chiave GPG di Docker per Ubuntu, la converte in una codifica OpenGPG standard e la salva nella directory keyring di apt. chmod
serve per impostare i permessi sul file keyring in modo che apt
lo rilevi in modo affidabile.
Ora potete aggiungere il sorgente del pacchetto Docker al vostro sistema. Eseguite il seguente comando:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Questo comando usa la sostituzione della shell per rilevare automaticamente l’architettura del vostro sistema, come AMD64 o ARM64, e scaricare l’elenco di pacchetti appropriato. Verrà verificato utilizzando la chiave GPG aggiunta in precedenza. Il repository viene aggiunto come un nuovo elenco di pacchetti all’interno del file apt /etc/apt/sources.list.d directory.
Aggiornate nuovamente gli elenchi dei pacchetti in modo che apt
sappia che i pacchetti Docker esistono:
$ sudo apt update
Ora potete usare il comando apt install
per aggiungere i componenti di Docker al vostro sistema. Installerete l’ultima versione di Docker Community Edition (CE). Ci sono tre pacchetti da installare:
docker-ce
: il daemon Docker Engine.docker-ce-cli
: la CLI di Docker con cui interagire.containerd.io
: il runtime del container, noto come containerd, che avvia ed esegue i vostri container.
$ sudo apt install docker-ce docker-ce-cli containerd.io
2. Installare Docker Con il Pacchetto Debian
Il pacchetto ufficiale di .deb
è semplice da configurare, ma dovrete scaricare e installare manualmente ogni nuova versione. I pacchetti sono ospitati su un semplice file server. Per prima cosa visitate la pagina delle note di rilascio di Docker per trovare l’ultimo numero di versione disponibile, ad esempio 20.10.20. Successivamente, vai alla pagina GitHub di Containerd per verificare il numero di versione. Il numero sarà 1.6.8.
Ora potete eseguire la seguente sequenza di comandi per scaricare il giusto set di pacchetti per la vostra piattaforma. Sostituite <DOCKER_VERSION>
e <CONTAINERD_VERSION>
con i numeri di versione di Docker e containerd.
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce.deb
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce-cli.deb
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/containerd.io_<CONTAINERD_VERISON>-1_amd64.deb -o containerd.deb
Potete anche scaricare i file e controllare tutte le versioni disponibili visitando l’elenco delle directory della vostra versione di Ubuntu nel browser.
Una volta scaricati i pacchetti Docker CE, CLI e containerd, usate il seguente comando per installarli:
$ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb
Modificate i nomi dei file se avete scaricato manualmente i pacchetti senza usare lo script fornito in precedenza.
3. Installare Docker con lo Script di Installazione
Lo script di installazione di Docker automatizza l’installazione di tutti i componenti di Docker. Non è interattivo, quindi potete sedervi e aspettare mentre il sistema viene preparato.
Per prima cosa scaricate lo script:
$ curl -fsSL https://get.docker.com -o get-docker.sh
Ora eseguite lo script con i privilegi di root:
$ sudo sh get-docker.sh
Executing docker install script
...
Attendete che lo script venga completato. Dovreste vedere un messaggio di conferma che indica che Docker è stato installato.
Lo script è pensato come una soluzione unica. Non è possibile personalizzare le sue funzioni senza modificare direttamente il sorgente dello script. Inoltre, non è stato progettato per eseguire gli aggiornamenti di Docker, in quanto non porterà le dipendenze alle loro ultime versioni.
Assicuratevi che Docker Engine Funzioni su Ubuntu
Qualunque sia il metodo di installazione utilizzato, dovete assicurarvi che tutto funzioni avviando un container:
$ sudo docker run hello-world
Vedrete che il client di Docker preleva il sito hello-world:image
dal repository di Docker Hub:
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625
Status: Downloaded newer image for hello-world:latest
Un nuovo container si avvierà automaticamente. L’immagine di partenza “hello-world” è configurata per eseguire un semplice comando che fornisce alcune informazioni di base su Docker e poi esce immediatamente:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
Quando vedete l’output mostrato sopra significa che Docker è pronto all’uso. Il daemon ha estratto con successo l’immagine hello-world:latest da Docker Hub e ha avviato un container che la utilizza. Tutto ciò che è stato emesso dalla riga “Hello from Docker” in poi è stato emesso dal processo all’interno del container.
Impostare i Permessi di Docker Engine su Ubuntu
Una nuova installazione di Docker Engine di solito richiede i privilegi di root per eseguire i comandi della CLI di docker
. È necessario anteporre a ogni comando il prefisso sudo
, il che è scomodo.
Potete evitare questo requisito aggiungendo al gruppo docker
dopo aver installato Docker Engine usando i passaggi precedenti. Questa modifica opzionale vi dà i permessi per eseguire i comandi docker
come un utente normale, senza sudo
, il che semplifica la vostra esperienza CLI.
Assicuratevi che il gruppo di utenti docker
esista:
$ sudo groupadd docker
Quindi aggiungetevi a esso:
$ sudo usermod -aG docker $USER
Se in precedenza avete eseguito un comando docker
con sudo
, dovrete correggere i permessi della vostra directory ~/.docker
:
$ sudo chown $USER:$USER /home/$USER/.docker -R
$ sudo chmod g+rwx $HOME/.docker -R
In questo modo il vostro account utente sarà autorizzato a leggere e scrivere i file presenti nella directory.
Uscite dal sistema e rientrate in esso in modo che la vostra adesione al gruppo abbia effetto. Provate a eseguire il comando docker
senza sudo
:
$ docker run hello-world
Questo passo successivo all’installazione completa il processo di configurazione di Docker su Ubuntu. Il daemon è già configurato per avviarsi automaticamente, quindi non dovrete impostare manualmente un servizio. Se avete in programma un’installazione avanzata, consultate il manuale d’uso di Docker per le istruzioni su come configurare la rete personalizzata, il logging e la gestione dello storage dei volumi.
Aggiungere Docker Compose alla Vostra Installazione di Ubuntu
Docker Compose è un popolare strumento di accompagnamento di Docker che rende più facile lavorare con applicazioni che usano più container. Mentre la CLI di docker
si rivolge a un solo container per ogni comando, docker compose
può avviare e arrestare più container per ogni azione. Questo semplifica la gestione di sistemi con servizi frontend, backend e database separati.
Docker Compose è ora disponibile come parte della docker
CLI. Il plugin Compose V2 è incluso quando usate lo script di installazione ufficiale per installare Docker. È disponibile anche in apt
se usate questo metodo:
$ sudo apt install docker-compose-plugin
In alternativa, potete scaricare l’ultimo archivio di .deb
e installarlo manualmente:
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb -o docker-compose-plugin.deb
$ sudo apt install -i ./docker-compose-plugin.deb
Verificate che Compose funzioni provando il comando docker compose version
:
$ docker compose version
Docker Compose version v2.6.0
Installare Docker Desktop su Ubuntu
Mentre Docker Engine è limitato a un’esperienza solo CLI, Docker Desktop offre un’interfaccia grafica di gestione, il supporto Kubernetes integrato ed estensioni opzionali di terze parti che possono aiutarvi a semplificare i flussi di lavoro dei container. Si tratta di un’ottima scelta quando cercate la facilità d’uso della vostra postazione di lavoro.
Per installare Docker Desktop, installate prima alcune dipendenze utilizzando apt
:
$ sudo apt update
$ sudo apt install ca-certificates curl gnupg lsb-release
Quindi, eseguite la seguente serie di comandi per aggiungere il repository apt
di Docker. Sebbene Docker Desktop non sia incluso nel repository, i pacchetti al suo interno vengono citati come dipendenze dall’archivio Debian di Desktop.
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt update
Il comando curl
scarica la chiave GPG di Docker per Ubuntu, la converte in una codifica OpenGPG standard e la salva nella directory apt
. chmod
serve per impostare i permessi sul file del portachiavi in modo che apt
lo rilevi in modo affidabile.
Scaricate l’archivio Docker Desktop Debian dal link presente nella documentazione. Questo fornirà l’ultima versione stabile di Docker Desktop per Linux. Usate apt
per installare il pacchetto, sostituendo il numero di versione che avete scaricato:
$ sudo apt install ./docker-desktop-4.11.0-amd64.deb
Docker Desktop verrà ora visualizzato nel vostro launcher di applicazioni. Usate il vostro launcher per avviare Docker Desktop e aprire l’interfaccia utente. Potrete eseguire i comandi docker
, docker compose
e kubectl
anche nel vostro terminale. L’applicazione aggiunge anche un menu alla barra della shell che mostra lo stato attuale di Docker Desktop e vi permette di eseguire alcune azioni rapide.
Al primo avvio di Docker Desktop vi verrà chiesto di accettare un contratto di servizio. Premete il pulsante Accetta se siete d’accordo e attendete che Docker Desktop avvii la sua macchina virtuale.
Dopo qualche istante, la dashboard verrà caricata. Vi trovate scorciatoie per creare nuovi container dalle immagini più diffuse, evitando lunghi comandi da terminale.
DevKinsta: Docker Desktop per WordPress
Le soluzioni specializzate costruite sulla base di Docker offrono un’esperienza ancora più semplice per tecnologie specifiche. DevKinsta è uno strumento di sviluppo locale gratuito per la creazione di temi e plugin WordPress che usa Docker per isolare e proteggere completamente i vostri siti WordPress. Rende semplice e veloce l’avvio e la personalizzazione di un nuovo progetto WordPress senza dover configurare i server. Una volta pronto, potete inviare direttamente alla piattaforma Kinsta per distribuire il vostro sito live.
Potete installare DevKinsta su MacOS, Windows e Ubuntu.
Riepilogo
Docker è il modo in cui la maggior parte delle persone che lavorano nello sviluppo iniziano a usare i container. Potete installare facilmente Docker sul vostro sistema Ubuntu, sia come Docker Engine che come il nuovo Docker Desktop. Una volta installato Docker, avrete tutto il necessario per costruire ed eseguire container, semplificando lo sviluppo e riducendo le discrepanze tra gli ambienti.
Se state sviluppando temi e plugin per WordPress, DevKinsta può semplificare la creazione di un ambiente di sviluppo locale e la distribuzione del vostro sito.
Lascia un commento