- 1 1. Introduzione
- 2 2. Installazione di Docker su Ubuntu
- 3 3. Operazioni di Base con le Immagini Docker
- 4 4. Creazione di Immagini Docker Personalizzate con Dockerfile
- 5 5. Configurazione dell’Ambiente Linguistico Giapponese in un Container Ubuntu
- 6 6. Ottimizzazione e Riduzione delle Dimensioni delle Immagini Docker
- 7 7. Guida Pratica: Sviluppare Applicazioni in un Container Ubuntu
- 8 8. FAQ & Risoluzione dei Problemi
1. Introduzione
Cos’è Docker?
Docker è una piattaforma che utilizza la tecnologia di virtualizzazione basata su container per sviluppare, distribuire ed eseguire applicazioni in modo efficiente. A differenza delle macchine virtuali (VM) tradizionali, i container condividono il kernel del sistema operativo host, consentendo tempi di avvio più rapidi e un consumo di risorse inferiore.
Vantaggi dell’Uso di Docker su Ubuntu
Ubuntu è una delle distribuzioni Linux altamente compatibili con Docker. I principali vantaggi includono:
- Supporto Ufficiale : Docker supporta ufficialmente Ubuntu, e l’installazione è semplice tramite il repository ufficiale.
- Gestione Stabile dei Pacchetti : Il gestore di pacchetti APT di Ubuntu rende facile la gestione delle versioni di Docker.
- Ampio Supporto della Community : Ubuntu ha una vasta base di utenti globale, rendendo più semplice trovare soluzioni durante la risoluzione dei problemi.
Cosa Imparerai in Questo Articolo
Questo articolo ti guiderà passo dopo passo attraverso i seguenti argomenti:
- Come installare Docker su Ubuntu
- Operazioni di base sulle immagini Docker
- Creazione di immagini personalizzate usando Dockerfile
- Configurazione dell’ambiente linguistico giapponese in un container Ubuntu
- Ottimizzazione e riduzione della dimensione delle immagini Docker
- Sviluppo di applicazioni in un container Ubuntu
- Errori comuni e soluzioni di risoluzione dei problemi
Questa guida è utile sia per principianti che per utenti avanzati, quindi sentiti libero di usarla come riferimento.
2. Installazione di Docker su Ubuntu
Installazione di Docker Usando il Repository Ufficiale
Su Ubuntu, puoi installare facilmente Docker usando il repository ufficiale. Segui i passaggi seguenti per configurarlo.
1. Rimuovi i Pacchetti Docker Esistenti
Ubuntu fornisce un pacchetto chiamato docker.io per impostazione predefinita, ma potrebbe trattarsi di una versione obsoleta. Si consiglia di rimuoverlo prima.
sudo apt remove docker docker-engine docker.io containerd runc
2. Installa i Pacchetti Richiesti
Prima di installare Docker, installa i pacchetti di dipendenze necessari.
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
3. Aggiungi il Repository Ufficiale di Docker
Aggiungi la chiave GPG ufficiale di Docker e configura il repository.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) 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
4. Installa Docker
Una volta aggiunto il repository, installa Docker.
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
5. Verifica l’Installazione
Per controllare se Docker è stato installato correttamente, visualizza le informazioni sulla versione.
docker --version
Configurazione Iniziale Dopo l’Installazione
1. Avvia e Abilita il Servizio Docker
Avvia il servizio Docker e configuralo per l’esecuzione automatica all’avvio del sistema.
sudo systemctl start docker
sudo systemctl enable docker
2. Consenti agli Utenti Non-root di Usare Docker
Per impostazione predefinita, solo l’utente root può eseguire Docker. Per consentire a un utente regolare di usare i comandi Docker, aggiungilo al gruppo docker.
sudo usermod -aG docker $USER
Per applicare le modifiche, esci e accedi nuovamente.
3. Testa Docker
Esegui il container hello-world per verificare se Docker funziona correttamente.
docker run hello-world
Se vedi il messaggio “Hello from Docker!”, l’installazione è riuscita.

3. Operazioni di Base con le Immagini Docker
Cos’è un’Immagine Docker?
Un’immagine Docker funge da modello per la creazione di container. Usando un’immagine Docker basata su Ubuntu, puoi impostare rapidamente un ambiente Ubuntu all’interno di un container.
Scaricamento di Immagini Ubuntu da Docker Hub
Docker Hub ospita una vasta collezione di immagini Docker ufficiali. Per scaricare un’immagine Ubuntu, usa il comando seguente:
docker pull ubuntu
Avvio e Arresto dei Container
Puoi avviare un container utilizzando l’immagine Ubuntu scaricata con il seguente comando:
docker run -it ubuntu bash
Questo comando apre una shell all’interno del container Ubuntu, permettendoti di interagire direttamente con esso.
Elenco dei Container in Esecuzione
Per verificare quali container sono attualmente in esecuzione, usa questo comando:
docker ps
Per visualizzare tutti i container, inclusi quelli fermati, aggiungi l’opzione -a:
docker ps -a
Arresto e Rimozione dei Container
Per arrestare un container in esecuzione, usa il seguente comando:
docker stop [container ID or name]
Per rimuovere un container non necessario, usa questo comando:
docker rm [container ID or name]
Gestione delle Immagini Docker
Per elencare tutte le immagini Docker scaricate, usa il seguente comando:
docker images
Per rimuovere un’immagine inutilizzata, usa questo comando:
docker rmi [image ID]
4. Creazione di Immagini Docker Personalizzate con Dockerfile
Cos’è un Dockerfile?
Un Dockerfile è un file di configurazione utilizzato per creare immagini Docker. Definendo istruzioni specifiche in un Dockerfile, puoi costruire immagini Docker personalizzate adatte alle tue esigenze. Questo aiuta a standardizzare gli ambienti di sviluppo e a includere i pacchetti necessari nell’immagine.
Sintassi Base di un Dockerfile
Un Dockerfile include tipicamente i seguenti comandi chiave:
| Command | Description |
|---|---|
FROM | Specifies the base image |
RUN | Executes commands to build the image |
COPY | Copies files into the container |
WORKDIR | Sets the working directory |
CMD | Defines the default command to run when the container starts |
ENTRYPOINT | Specifies the main command executed when the container runs |
Creazione di un’Immagine Docker Personalizzata Basata su Ubuntu
Segui questi passaggi per creare un’immagine Docker personalizzata basata su Ubuntu.
1. Crea una Directory di Lavoro
Prima di tutto, crea una nuova directory di progetto e naviga al suo interno.
mkdir my-ubuntu-image
cd my-ubuntu-image
2. Crea un Dockerfile
All’interno della directory, crea un file Dockerfile e aggiungi il seguente contenuto:
# Use the official Ubuntu base image
FROM ubuntu:latest
# Maintainer information (optional)
LABEL maintainer="your-email@example.com"
# Update package lists and install basic tools
RUN apt update && apt install -y curl vim git
# Set the working directory
WORKDIR /workspace
# Default command executed when the container starts
CMD ["bash"]
3. Costruisci l’Immagine Docker
Usa il seguente comando per costruire l’immagine personalizzata dal Dockerfile.
docker build -t my-ubuntu-image .
L’opzione -t assegna un nome all’immagine.
4. Verifica l’Immagine Costruita
Controlla l’elenco delle immagini disponibili per assicurarti che la nuova immagine sia stata creata con successo.
docker images
5. Avvia un Container dall’Immagine Personalizzata
Avvia un container utilizzando la nuova immagine personalizzata creata.
docker run -it my-ubuntu-image
Questo container dovrebbe includere strumenti come curl e vim come specificato nel Dockerfile.
5. Configurazione dell’Ambiente Linguistico Giapponese in un Container Ubuntu
Di default, l’immagine Docker Ubuntu è impostata su inglese. Se hai bisogno di utilizzare il giapponese, sono richieste configurazioni aggiuntive.
Configurazione del Locale Giapponese
Per abilitare la visualizzazione e l’input giapponese in un container Ubuntu, installa i pacchetti linguistici necessari.
1. Installa i Pacchetti Richiesti
apt update
apt install -y language-pack-ja locales
2. Configura il Locale
Imposta il locale e applica le impostazioni.
locale-gen ja_JP.UTF-8
update-locale LANG=ja_JP.UTF-8
3. Applica le Impostazioni
export LANG=ja_JP.UTF-8
Configurazione dell’Input Giapponese
Per abilitare l’input di testo giapponese nel terminale, installa ibus-mozc.
apt install -y ibus-mozc
Se stai utilizzando un ambiente GUI, aggiungi le seguenti variabili d’ambiente:
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
Utilizzo di Applicazioni GUI
Per eseguire applicazioni GUI all’interno di un container Docker, puoi utilizzare un server X.
Installa un server X sulla macchina host e avvia il container con X11 abilitato.
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix my-ubuntu-image
6. Ottimizzazione e Riduzione delle Dimensioni delle Immagini Docker
Ottimizzare le immagini Docker migliora la velocità di avvio dei container e riduce l’utilizzo di spazio su disco. Questa sezione introduce metodi per creare immagini leggere.
Creazione di un’Immagine Leggera Basata su Ubuntu
L’immagine predefinita ubuntu:latest è relativamente grande. Per ridurre le dimensioni del container, considera l’uso di un’alternativa più piccola come ubuntu:minimal.
FROM ubuntu:minimal
In alternativa, puoi usare Alpine Linux, che è significativamente più piccola di Ubuntu.
FROM alpine:latest
RUN apk add --no-cache bash curl
Questo metodo può ridurre le dimensioni dell’immagine di diverse centinaia di megabyte.
Rimozione di File Inutili per Ridurre le Dimensioni dell’Immagine
Dopo aver installato i pacchetti con apt-get, puoi rimuovere i file di cache non necessari per minimizzare le dimensioni dell’immagine.
RUN apt update && apt install -y curl vim
&& apt clean
&& rm -rf /var/lib/apt/lists/*
Il comando rm -rf /var/lib/apt/lists/* elimina l’elenco dei pacchetti, riducendo i dati superflui.
Utilizzo di Build Multi-Stage
Con le build multi-stage, puoi usare un container temporaneo per compilare le dipendenze mantenendo l’immagine finale leggera.
FROM ubuntu as builder
RUN apt update && apt install -y gcc
FROM ubuntu:minimal
COPY --from=builder /usr/bin/gcc /usr/bin/gcc
Questa tecnica consente di escludere gli strumenti di sviluppo non necessari dall’immagine finale, rendendola notevolmente più piccola.
7. Guida Pratica: Sviluppare Applicazioni in un Container Ubuntu
In questa sezione, configureremo un ambiente di sviluppo all’interno di un container Ubuntu e dimostreremo come sviluppare applicazioni usando Docker.
Configurazione di un Ambiente di Sviluppo Python
Per creare un ambiente di sviluppo Python all’interno di un container Docker, utilizza il seguente Dockerfile.
FROM ubuntu:latest
RUN apt update && apt install -y python3 python3-pip
CMD ["python3"]
Costruisci l’immagine ed esegui il container.
docker build -t python-dev .
docker run -it python-dev
All’interno del container, puoi eseguire il comando python3 per avviare script Python e sviluppare applicazioni.
Configurazione di un Ambiente di Sviluppo Node.js
Per lo sviluppo con Node.js, utilizza il seguente Dockerfile.
FROM ubuntu:latest
RUN apt update && apt install -y nodejs npm
CMD ["node"]
Costruisci ed esegui il container.
docker build -t node-dev .
docker run -it node-dev
Con questa configurazione, puoi usare il comando node per eseguire codice JavaScript e sviluppare applicazioni in un ambiente controllato.
8. FAQ & Risoluzione dei Problemi
Durante l’uso di Docker, potresti incontrare vari problemi. Questa sezione fornisce soluzioni ai problemi più comuni e alle domande frequenti.
Differenza tra Docker e Macchine Virtuali
- Docker: Condivide il kernel del sistema operativo host, risultando leggero e consentendo avvii rapidi dei container.
- Macchine Virtuali (VM): Ogni VM ha il proprio sistema operativo, consumando più risorse e richiedendo più tempo per l’avvio.
Docker è più efficiente nell’utilizzo delle risorse, rendendolo ideale per ambienti di sviluppo e distribuzioni automatizzate.
Persistenza dei Dati in un Container Ubuntu
Per mantenere i dati anche dopo l’arresto di un container, utilizza il montaggio di volumi.
docker run -v my_data:/data ubuntu
Il volume my_data conserva i dati in modo persistente, permettendo di accedervi anche dopo la rimozione del container.
Errori Comuni e Soluzioni
1. Errore permission denied
Se visualizzi un errore permission denied durante l’esecuzione di comandi Docker, il tuo utente potrebbe non far parte del gruppo docker.
Aggiungi il tuo utente al gruppo docker con il seguente comando“`
sudo usermod -aG docker $USER
Dopo aver eseguito questo comando, disconnettiti e riconnettiti per applicare le modifiche.
#### 2. Errore `image not found`
Se un'immagine è stata rimossa da Docker Hub, specifica un tag diverso per scaricare una versione valida.
docker pull ubuntu:22.04 “`
Specificando una versione, puoi assicurarti di scaricare un’immagine funzionante.


