Creazione di immagini Docker personalizzate
Crei la prima immagine Docker personalizzata per una semplice applicazione, assegnandole correttamente tag e versione.
Creazione di immagini Docker personalizzate è una lezione Docker & DevOps Fundamentals gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Docker & DevOps Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.
Crei la Sua prima immagine Docker
Perché creare immagini personalizzate? Consentono di includere l'applicazione specifica, le relative dipendenze e la configurazione in un'unica unità portabile. Questo è fondamentale per garantire coerenza e semplificare la distribuzione.
Il modo in cui creare questa immagine viene definito in un file chiamato Dockerfile.

La nostra semplice app web
Containerizzeremo una semplicissima app web Python Flask. Quando si visita il suo indirizzo web, restituisce semplicemente «Hello from Docker!».
Immagini di avere questi file in una directory:
app.py: il codice dell'applicazione Pythonrequirements.txt: elenca le dipendenze PythonDockerfile: istruzioni per creare l'immagine
Il codice dell'applicazione Flask
Questa è la nostra app Flask di base in Python. È in ascolto sulla porta 5000 e risponde con "Hello from Docker!".
Può eseguirla localmente (dopo aver installato Flask) per vederla in azione!
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello from Docker!'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')Specificare le dipendenze
La nostra app ha bisogno della libreria Flask. La elenchiamo in requirements.txt. Questo file indica a Docker (e al gestore di pacchetti di Python, pip) cosa installare.
In questo modo l'immagine contiene tutte le librerie necessarie per eseguire l'app.
Flask==2.3.2Anatomia del nostro Dockerfile
Un Dockerfile è un file di testo contenente le istruzioni per creare un'immagine. Ogni istruzione crea un layer. Ecco cosa useremo:
FROM: specifica l'immagine di base (ad esempio, Python).WORKDIR: imposta la directory di lavoro all'interno del container.COPY: copia i file dal computer locale nell'immagine.RUN: esegue comandi (ad esempio, per installare le dipendenze).EXPOSE: informa Docker sulle porte su cui il container è in ascolto.CMD: definisce il comando predefinito da eseguire all'avvio del container.
Creare il Dockerfile
Ecco il Dockerfile completo per la nostra app Flask. Inserisca questo file nella stessa directory di app.py e requirements.txt.
# Use an official Python runtime as a parent image
FROM python:3.9-slim-buster
# Set the working directory in the container
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY requirements.txt .
COPY app.py .
# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Make port 5000 available to the world outside this container
EXPOSE 5000
# Run app.py when the container launches
CMD ["python", "app.py"]Il comando `docker build`
Ora creiamo la nostra immagine! Apra il terminale nella directory in cui si trovano il Dockerfile e i file dell'app.
Il flag -t assegna all'immagine un nome (my-flask-app) e una versione (1.0). Il punto . indica a Docker di usare la directory corrente come contesto di build.
docker build -t my-flask-app:1.0 .
Verificare la nuova immagine
Al termine della build, può verificare che la nuova immagine esista elencando tutte le immagini Docker locali.
Nell'output cerchi my-flask-app con il tag 1.0.
docker images
Avviare il container dell'app
È il momento di vedere l'app in azione! Usi docker run per creare e avviare un container a partire dall'immagine.
-p 5000:5000 associa la porta 5000 del computer host alla porta 5000 all'interno del container. -d esegue il container in modalità detached (in background).
docker run -d -p 5000:5000 my-flask-app:1.0
Visiti http://localhost:5000 nel browser per visualizzare "Hello from Docker!".
Buone pratiche per assegnare i tag alle immagini
I tag sono fondamentali per gestire diverse versioni delle immagini. Una pratica comune consiste nell'usare il versionamento semantico (ad esempio, 1.0.0, 2.1.5) e anche un tag latest.
Può aggiungere più tag a un'immagine usando docker tag:
docker tag my-flask-app:1.0 my-flask-app:latest
In questo modo può riferirsi alla stessa immagine con nomi diversi, rendendola più flessibile per i deployment.
Verifica rapida
Consideri il seguente Dockerfile e il comando di build:
# Dockerfile content
FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello"]
docker build -t my-app:v1 .Quale delle seguenti affermazioni è VERA riguardo al comando docker build -t my-app:v1 .?
Riepilogo: immagini personalizzate
Ottimo lavoro! Ha imparato a:
- Preparare una semplice applicazione per la containerizzazione.
- Scrivere un
Dockerfiledi base usando istruzioni fondamentali (FROM,WORKDIR,COPY,RUN,EXPOSE,CMD). - Creare un'immagine Docker personalizzata usando
docker build -t. - Verificare l'immagine con
docker images. - Eseguire un container dall'immagine personalizzata usando
docker run -p. - Comprendere l'importanza dell'assegnazione dei tag e del versionamento delle immagini.
Ora approfondiremo la struttura delle immagini Docker basata sui layer e le tecniche per ottimizzarne le dimensioni e i tempi di build!
Domande Frequenti
La lezione «Creazione di immagini Docker personalizzate» è gratuita?
Sì — il testo completo di «Creazione di immagini Docker personalizzate» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Docker & DevOps Fundamentals, passa a CoddyKit PRO. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.
Cosa imparerò in «Creazione di immagini Docker personalizzate»?
Crei la prima immagine Docker personalizzata per una semplice applicazione, assegnandole correttamente tag e versione. Eserciti Docker & DevOps Fundamentals con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Docker & DevOps Fundamentals?
Non è richiesta alcuna esperienza precedente. Docker & DevOps Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Creazione di immagini Docker personalizzate»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Docker & DevOps Fundamentals?
Sì. Ogni lezione Docker & DevOps Fundamentals include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Comprendere i Dockerfile
- Creazione di immagini Docker personalizzate
- Livelli e ottimizzazione delle immagini
- Build multi-stage e immagini più piccole