Creare immagini Docker con Actions
Automatizzi il processo di creazione delle immagini Docker per le applicazioni direttamente nei workflow di GitHub Actions.
Creare immagini Docker con Actions è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 1 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 DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa sono le immagini Docker?
Benvenuti! In questa lezione si imparerà a creare immagini Docker utilizzando GitHub Actions.
Per prima cosa, che cos'è una immagine Docker? Si può immaginare come un pacchetto leggero, autonomo ed eseguibile che include tutto il necessario per eseguire un componente software:
- Il codice
- Un runtime (ad es. Java, Python)
- Strumenti e librerie di sistema
- File di configurazione
È come un progetto per creare container Docker e garantisce che l'applicazione venga eseguita in modo coerente in ambienti diversi.
Perché automatizzare le build Docker?
Creare manualmente immagini Docker può essere ripetitivo e soggetto a errori. È qui che l'automazione si rivela utile!
Integrando la creazione delle immagini Docker nella pipeline CI/CD con GitHub Actions, si ottengono:
- Coerenza: Ogni build segue gli stessi passaggi.
- Velocità: Le build automatiche sono più rapide di quelle manuali.
- Affidabilità: Riduzione degli errori umani.
- Integrazione: Le build vengono attivate automaticamente quando il codice cambia.
È una pratica fondamentale del DevOps moderno!
Il modello Dockerfile
Un Dockerfile è un file di testo che contiene tutti i comandi per assemblare un'immagine Docker. È come una ricetta.
Ecco un esempio molto semplice di Dockerfile:
FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello from Docker!"]Comprendere il Dockerfile
Analizziamo questo semplice Dockerfile:
FROM alpine:latest: Specifica l'immagine di base. Si parte da una piccola distribuzione Linux chiamata Alpine.WORKDIR /app: Imposta la directory di lavoro all'interno dell'immagine.COPY . .: Copia tutti i file dalla directory del progetto nella directory/appall'interno dell'immagine.CMD ["echo", "Hello from Docker!"]: È il comando che verrà eseguito quando viene avviato un container a partire da questa immagine.
Questo file si trova nella directory principale del progetto.
Configurare il workflow
Per creare immagini Docker con GitHub Actions, occorre creare un file YAML (ad es. .github/workflows/docker-build.yml) nel repository.
Questo file definisce il workflow, ovvero una serie di passaggi automatici.
Un workflow di base per la creazione di un'immagine di solito comprende:
- Recuperare il codice.
- Configurare l'ambiente di build Docker.
- Creare l'immagine Docker.
Passaggio 1: ottenere il codice
Il primo passaggio di quasi tutti i workflow GitHub Actions consiste nel recuperare il codice del repository. A questo scopo si utilizza l'action actions/checkout.
L'action clona il repository nel runner, rendendo disponibili il Dockerfile e il codice dell'applicazione per il processo di build.
Ecco come appare nel file del workflow:
- name: Checkout repository code
uses: actions/checkout@v4Passaggio 2: configurare Docker Buildx
Ora è necessario configurare l'ambiente di build Docker. L'action docker/setup-buildx-action è fortemente consigliata.
Buildx è un componente Docker che estende le funzionalità di build di Docker e supporta caratteristiche avanzate come le build multipiattaforma.
Aggiunga questo passaggio al workflow:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3Passaggio 3: creare l'immagine Docker
Ora arriva il passaggio principale: creare l'immagine! A questo scopo si utilizza docker/build-push-action.
Opzioni principali:
context: .: Specifica il contesto di build (di solito la directory principale del repository).push: false: Per ora, la build verrà eseguita senza eseguire il push in un registry. Il push verrà trattato in una lezione successiva.tags: my-app:latest: Assegna un nome e un tag all'immagine.
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestEsempio completo di workflow di build
Ecco il workflow GitHub Actions completo per creare un'immagine Docker. Ricordi che questo YAML va inserito in .github/workflows/docker-build.yml.
Questo workflow si attiva a ogni push nel repository.
name: Build Simple Docker Image
on: [push]
jobs:
build-image:
runs-on: ubuntu-latest
steps:
- name: Checkout repository code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestVerifica rapida
Verifichi la sua comprensione della creazione di immagini Docker con GitHub Actions.
Riepilogo: creazione di immagini Docker
Ottimo lavoro! Ha appreso i fondamenti dell'automazione della creazione di immagini Docker con GitHub Actions.
Abbiamo trattato:
- Cosa sono le immagini Docker e perché sono fondamentali.
- Il ruolo del
Dockerfilecome modello dell'immagine. - La configurazione di un workflow GitHub Actions di base.
- L'utilizzo di action essenziali come
actions/checkout,docker/setup-buildx-actionedocker/build-push-action.
Nella prossima lezione vedremo come eseguire il push di queste immagini create in un registry di container!
Domande Frequenti
La lezione «Creare immagini Docker con Actions» è gratuita?
Sì — il testo completo di «Creare immagini Docker con Actions» è 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 DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa imparerò in «Creare immagini Docker con Actions»?
Automatizzi il processo di creazione delle immagini Docker per le applicazioni direttamente nei workflow di GitHub Actions. Eserciti DevOps Bootcamp 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 DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Creare immagini Docker con Actions»?
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 DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp 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
- Creare immagini Docker con Actions
- Eseguire il push delle immagini nei registry
- Eseguire il deploy su Kubernetes con Actions
- Chart Helm e manifest Kubernetes in CI/CD