Non perdere le offerte a tempo limitato!

Come installare Docker su Ubuntu (installazione manuale e template VPS)

Come installare Docker su Ubuntu (installazione manuale e template VPS)

Installare Docker su Ubuntu ti permette di usare i container per creare, testare e distribuire applicazioni in un ambiente pulito, coerente e facilmente riproducibile.

Per installare Docker su Ubuntu, assicurati che il tuo sistema utilizzi una versione supportata, come Ubuntu 22.04 LTS o Ubuntu 24.04 LTS. Poi segui i passaggi dell’installazione manuale per configurare i pacchetti necessari, aggiungere la chiave GPG ufficiale di Docker e installare Docker Engine.

Se sei un cliente Hostinger, puoi installare Docker sul tuo VPS Ubuntu in pochi click usando il template VPS preconfigurato, senza dover eseguire manualmente i comandi di installazione.

Continua a leggere per scoprire entrambi i metodi, trovare consigli utili per configurare Docker dopo l’installazione e imparare a risolvere i problemi di configurazione più comuni.

Cosa ti serve per installare Docker su Ubuntu

Prima di installare Docker su Ubuntu, assicurati di soddisfare i seguenti requisiti:

  • Familiarità con le basi di Docker, utile per capire cosa stai configurando e perché ogni passaggio è importante.
  • Conoscenza di base dei comandi Linux, soprattutto se segui l’installazione manuale, dato che dovrai eseguire diversi comandi nel terminale.
  • Una versione supportata di Ubuntu, come Ubuntu 22.04 LTS o Ubuntu 24.04 LTS. Controlla sempre la documentazione ufficiale di Docker per gli ultimi dettagli sulla compatibilità.
  • Un sistema con almeno 512 MB di RAM. Per prestazioni più fluide e un utilizzo reale, è consigliabile installare Docker su un sistema con almeno 2 GB di RAM.

Come installare Docker manualmente

Se preferisci un approccio pratico, questa sezione ti guida passo dopo passo nell’installazione manuale di Docker su una distribuzione Ubuntu 24.04. Gli stessi passaggi valgono anche per altre versioni supportate di Ubuntu, come Ubuntu 22.04.

1. Installa tutti i pacchetti necessari

Per iniziare a installare Docker, verifica che il tuo sistema sia aggiornato e che disponga di tutti i pacchetti richiesti.

  1. Apri il terminale e collegati al tuo VPS tramite SSH. Sostituisci username e your_server_ip con le tue credenziali:
ssh username@your_server_ip
  1. Aggiorna l’elenco dei pacchetti per assicurarti che il server utilizzi le versioni più recenti dei pacchetti e delle relative dipendenze:
sudo apt update && sudo apt upgrade -y
  1. Installa i pacchetti necessari per consentire ad apt di usare i repository tramite HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

2. Aggiungi la chiave GPG ufficiale di Docker

Per garantire l’autenticità e la sicurezza dei pacchetti Docker, devi aggiungere la chiave GPG ufficiale di Docker e configurare il repository dedicato.

  1. Esegui questo comando curl per aggiungere la chiave GPG di Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. Aggiungi il repository ufficiale di Docker alle sorgenti APT:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. Aggiorna l’elenco dei pacchetti per includere quelli disponibili nel nuovo repository:
sudo apt update

3. Installa Docker Engine

Ora che i repository necessari sono configurati, puoi procedere con l’installazione di Docker Engine.

  1. Assicurati che Docker venga installato dal repository ufficiale e non da quello predefinito di Ubuntu:
apt-cache policy docker-ce
  1. Vedrai un output che indica chiaramente che Docker verrà installato dal repository corretto.
  1. Esegui quindi questo comando per installare Docker Engine, Docker Community Edition e il runtime containerd, tutti necessari per eseguire i container Docker:
sudo apt install docker-ce docker-ce-cli containerd.io -y
  1. Infine, verifica che Docker si avvii automaticamente all’avvio del sistema:
sudo systemctl enable docker

4. Controlla che Docker sia installato correttamente

Dopo aver installato Docker, verifica che l’installazione sia andata a buon fine e che il servizio funzioni correttamente.

  1. Controlla la versione di Docker installata sul sistema:
docker --version
  1. Ecco l’output che dovresti vedere:
  1. Usa questo comando per verificare lo stato del servizio Docker:
sudo systemctl status docker
  1. Dovresti vedere un output che indica chiaramente che Docker è attivo e in esecuzione.
L'output del terminale mostra che il servizio Docker è attualmente attivo e in esecuzione
  1. Premi Q sulla tastiera per uscire da questa schermata di stato.

5. Esegui Docker senza sudo (facoltativo)

Per impostazione predefinita, Docker consente di eseguire i suoi comandi solo come utente root o utilizzando sudo. Questo può risultare scomodo e, in alcuni casi, anche meno sicuro. Se provi a eseguire un comando Docker come utente non root, vedrai un errore simile a questo:

Tuttavia, eseguire Docker senza sudo è preferibile perché velocizza il flusso di lavoro e migliora l’esperienza d’uso. Per questo motivo, ti consigliamo di creare un utente dedicato per usare Docker senza privilegi elevati.

  1. Aggiungi un nuovo utente se non ne hai già uno. In questo esempio lo chiamiamo new_user:
sudo adduser new_user
  1. Ti verrà richiesto di impostare una password per il nuovo utente.
  2. Crea il gruppo docker con questo comando:
sudo groupadd docker
  1. Aggiungi new_user al gruppo docker:
sudo usermod -aG docker new_user
  1. Passa all’utente appena creato:
su - new_user
  1. Verifica che l’utente faccia parte del gruppo docker:
groups
  1. Ecco l’output che dovresti vedere:
  1. Esegui ora un semplice comando Docker per verificare che puoi usare Docker senza sudo:
docker run hello-world
  1. Dovresti visualizzare un output che conferma che Docker funziona correttamente anche come utente non root.
L'output del terminale mostra che un utente non root può eseguire un semplice comando Docker

Congratulazioni! Hai installato Docker manualmente su un VPS Ubuntu utilizzando la riga di comando.

Come installare Docker su Ubuntu usando il template VPS di Hostinger

Utilizzare il template VPS preconfigurato di Hostinger è il modo più semplice per installare Docker sul tuo VPS Ubuntu. Se scegli il piano di hosting VPS Docker, il template viene selezionato automaticamente, così puoi iniziare subito a distribuire applicazioni containerizzate.

Se invece utilizzi un piano di VPS hosting standard, nessun problema: puoi comunque installare Docker in pochi Click selezionando manualmente il template. Ecco come fare:

  1. Accedi a hPanel e vai su VPSGestisci accanto al tuo server.
  2. Dalla dashboard del VPS, apri SO e pannelloSistema operativo nella barra laterale sinistra.
  3. Individua la sezione Cambia SO, digita Docker nella barra di ricerca e seleziona il template Docker.
  1. Segui le istruzioni visualizzate sullo schermo e attendi il completamento del processo di installazione, che in genere richiede circa 10 minuti.

Fatto! Hai installato Docker sul tuo VPS e ora sei pronto a distribuire le tue applicazioni.

Quali sono alcuni consigli per la configurazione di Docker?

Dopo aver installato Docker su Ubuntu, dedica un po’ di tempo a imparare i comandi principali e le configurazioni più utili per sfruttarlo al meglio.

1. Impara i comandi di base di Docker

Inizia familiarizzando con i comandi essenziali di Docker per lavorare con immagini e container. In questo modo potrai cercare, scaricare ed eseguire immagini già pronte come nginx, node o mysql, avviando rapidamente i servizi senza installare nulla manualmente sul sistema.

  • Elenca le immagini disponibili:
docker images
  • Cerca immagini su Docker Hub:
docker search nginx
  • Scarica un’immagine:
docker pull nginx

2. Esegui e gestisci i container

Una volta ottenuta un’immagine, puoi avviare e gestire i container utilizzando i seguenti comandi. L’esempio qui sotto esegue un server NGINX in un container sulla porta 8080. È ideale per testare siti web statici in locale o creare reverse proxy per le tue applicazioni.

  • Esegui un container:
docker run -d --name webserver -p 8080:80 nginx
  • Avvia il tuo primo container:
docker start webserver
  • Ferma un container in esecuzione:
docker stop webserver
  • Elenca i container attualmente in esecuzione:
docker ps

3. Crea e condividi le tue immagini

Puoi creare immagini personalizzate utilizzando un Dockerfile e condividerle con altri utenti. Un caso d’uso comune è impacchettare la tua applicazione Node.js, Python o Go in un’immagine riutilizzabile, da distribuire in ambienti diversi o condividere con il tuo team.

  • Crea un’immagine partendo dalla directory corrente:
docker build -t my-app .
  • Aggiungi un tag all’immagine:
docker tag my-app yourusername/my-app:latest
  • Invia l’immagine a Docker Hub:
docker push yourusername/my-app:latest

4. Pulisci i componenti che non usi più

Elimina le risorse Docker che non ti servono più per evitare di occupare spazio inutilmente sul disco. Questo ti aiuta a liberare risorse e a ridurre il disordine causato da test o build temporanee.

  • Rimuovi le immagini Docker inutilizzate:
docker image prune
  • Elimina i container arrestati:
docker container prune
  • Rimuovi volumi e reti non più utilizzati:
docker volume prune
docker network prune

5. Usa Docker Compose per le app multi-container

Docker Compose ti consente di definire e gestire ambienti multi-servizio utilizzando un unico file docker-compose.yml.

  • Esempio: esegui rapidamente WordPress come container Docker per test in locale:
version: '3.8'


services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: wp_pass
      MYSQL_ROOT_PASSWORD: example
    volumes:
      - db_data:/var/lib/mysql


  web:
    image: wordpress
    restart: always
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: wp_pass
    depends_on:
      - db


volumes:
  db_data:
  • Avvia tutti i servizi:
docker-compose up -d

6. Crea ambienti di sviluppo isolati

Usa Docker per evitare di appesantire il sistema con più versioni di linguaggi o dipendenze diverse. Questo approccio è ideale per testare pacchetti, scrivere script o sviluppare applicazioni in un ambiente isolato, senza modificare la configurazione del sistema host.

  • Esempio: usa Docker per avviare un ambiente Node.js senza installare Node in locale:
docker run -it --rm node:18 bash

7. Automatizza build e test in CI/CD

Docker è ampiamente supportato da strumenti CI come GitHub Actions, GitLab CI/CD e Jenkins. Puoi containerizzare la tua applicazione ed eseguirla in modo coerente negli ambienti di sviluppo, staging e produzione.

  • Esempio: utilizza un’immagine Docker nella tua pipeline di GitHub Actions per automatizzare i test:
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: docker build -t my-app .
      - run: docker run my-app npm test

8. Ospita server web o API in locale

Puoi eseguire server web completi o API all’interno di container Docker per testare le tue applicazioni senza distribuirle all’esterno. Questo approccio è ideale per gli sviluppatori front-end che devono servire risorse statiche o testare domini locali senza configurare un server di sviluppo completo.

  • Esempio: esegui un server Apache di base in locale:
docker run -d -p 8080:80 httpd

Risoluzione dei problemi comuni di installazione di Docker

Installare Docker su Ubuntu è in genere semplice, ma in base alla configurazione del sistema, ai permessi utente o all’ambiente in uso possono verificarsi alcuni errori. Di seguito trovi i problemi più comuni, con soluzioni pratiche e comandi per risolverli rapidamente.

1. Il daemon Docker non è in esecuzione

Un messaggio di errore come “Cannot connect to the Docker daemon” indica in genere che il servizio Docker non è attivo.

  • Avvia il servizio Docker:
sudo systemctl start docker
  • Abilitalo all’avvio del sistema:
sudo systemctl enable docker
  • Controlla lo stato del daemon Docker:
sudo systemctl status docker

Se Docker continua a non avviarsi, verifica i log utilizzando journalctl:

journalctl -u docker.service

Cerca eventuali errori, come file di configurazione mancanti, conflitti di porte o problemi con il driver di archiviazione.

2. Impossibile connettersi al socket Docker

Se visualizzi l’errore “Got permission denied while trying to connect to the Docker daemon socket”, è probabile che si tratti di un problema di autorizzazioni utente.

  • Verifica se il tuo utente fa parte del gruppo docker:
groups
  • Aggiungi il tuo utente al gruppo docker:
sudo usermod -aG docker user

Dopodiché, esci e accedi nuovamente con quell’utente.

  • Riavvia il servizio Docker:
sudo systemctl restart docker

Se il problema persiste, potrebbe essere necessario intervenire sulle autorizzazioni di Docker.

3. Problemi con il repository e l’installazione

Se riscontri difficoltà nell’aggiungere il repository APT di Docker o nell’installare i pacchetti, le cause più comuni possono essere:

  • URL del repository non corretto
  • Dipendenze mancanti
  • Versione di Ubuntu non supportata

Assicurati di aver aggiunto il repository corretto eseguendo questi comandi:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /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

Se apt update restituisce errori, controlla l’output per individuare voci malformate o problemi relativi alla chiave GPG.

4. I container in esecuzione non rispondono

Se un container si avvia ma non si comporta come previsto, prova i passaggi seguenti per individuare il problema.

  • Visualizza i log del container:
docker logs container_name
  • Controlla lo stato di salute del container, se è stato definito un health check:
docker inspect --format='{{json .State.Health}}' container_name
  • Riavvia il container:
docker restart container_name

In alternativa, se utilizzi un VPS Hostinger, puoi chiedere all’assistente AI Kodee di controllare i log del container. È sufficiente scrivere, ad esempio: “Puoi controllare i log del container [nome_container]?”

5. Problemi con il firewall e la rete

Docker utilizza diverse porte interne. Se sul sistema è attivo un firewall, come Uncomplicated Firewall (UFW), alcune di queste porte potrebbero essere bloccate.

  • Consenti il traffico Docker tramite UFW:
sudo ufw allow 2375/tcp
sudo ufw allow 2376/tcp
sudo ufw allow 2377/tcp
sudo ufw allow 7946/tcp
sudo ufw allow 7946/udp
sudo ufw allow 4789/udp
  • Verifica se Docker riesce a risolvere correttamente il DNS:
docker run busybox nslookup google.com

Se il comando non restituisce risultati, la rete del container potrebbe non essere configurata correttamente.

  • Ricrea la rete bridge predefinita:
docker network rm bridge
docker network create --driver bridge bridge

Gestione del firewall con Kodee

Puoi anche chiedere a Kodee di configurare nuove regole firewall sul tuo VPS. Ad esempio, digita: “Imposta nuove regole firewall che aprono le porte 2375, 2376, 2377, 7946 TCP e 7946, 4789 UDP a qualsiasi indirizzo IP.”

6. Prestazioni lente di Docker

Se Docker risulta lento, ad esempio durante il download delle immagini o nell’esecuzione dei container, prova i seguenti passaggi per individuare la causa.

  • Controlla lo spazio disponibile su disco:
df -h
  • Verifica l’utilizzo delle risorse Docker:
docker system df
  • Individua container o volumi che occupano molto spazio:
docker ps -s
docker volume ls

Se nessuno dei passaggi precedenti risolve il problema, prova a rimuovere container, reti, immagini e cache di build inutilizzati per migliorare le prestazioni:

docker system prune -a

7. Errori di sicurezza o AppArmor

In alcune configurazioni di Ubuntu, Docker potrebbe non riuscire ad avviare i container a causa di conflitti con moduli di sicurezza come AppArmor.

  • Controlla se sono presenti blocchi di AppArmor:
dmesg | grep apparmor
  • Disattiva temporaneamente AppArmor per un container:
docker run --security-opt apparmor=unconfined your_image

Tieni presente che disabilitare AppArmor non è consigliato in ambienti di produzione. Se scegli di farlo, assicurati di non disattivare involontariamente importanti funzionalità di sicurezza del kernel.

Se questi errori continuano a verificarsi, verifica i log di sistema nel file /var/log/syslog.

E adesso?

Installare Docker su Ubuntu ti offre la flessibilità di distribuire, testare e rilasciare software con meno complicazioni, sia che tu stia eseguendo applicazioni in locale sia che tu stia gestendo carichi di lavoro in produzione.

Tuttavia, l’installazione è solo il primo passo. Per sfruttare davvero Docker al massimo, esplora come i container possono integrarsi nel tuo flusso di lavoro a lungo termine:

  • Scopri casi d’uso reali di Docker, come l’esecuzione di applicazioni web, database o pipeline CI, e prendi spunto per applicarli ai tuoi progetti.
  • Usa docker exec per interagire con i container in esecuzione ed eseguire comandi direttamente per il debug, la configurazione o aggiornamenti in tempo reale, senza dover riavviare nulla.
  • Gestisci i segreti Docker in modo sicuro, evitando password o token hardcoded e passando i dati sensibili in modo protetto durante la fase di build o di esecuzione.
  • Configura Docker Swarm per l’orchestrazione per scalare le tue applicazioni oltre il singolo container e gestire in modo efficiente un cluster multi-nodo con bilanciamento del carico integrato.

Tutti i contenuti dei tutorial presenti su questo sito web sono soggetti ai rigorosi standard editoriali e ai valori di Hostinger.

Author
L'autore

Faradilla Ayunindya

Faradilla, conosciuta anche come Ninda, è Content Marketing Specialist in Hostinger, con oltre 5 anni di esperienza nel settore e un background di 10 anni come linguista. Si dedica a rendere la tecnologia più accessibile, adattando guide complesse in tutorial chiari e facili da seguire. Nel tempo libero, quando non è impegnata a seguire le ultime tendenze del mondo tech e del digital marketing, ama approfondire temi legati alle scienze della vita o guardare video divertenti di animali. Puoi connetterti con lei su LinkedIn.

Cosa dicono i nostri clienti

Lascia un commento

Please fill the required fields.Please accept the privacy checkbox.Please fill the required fields and accept the privacy checkbox.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.