0Pricing
DevOps Bootcamp · Lezione

Distribuzione di app multi-servizio

Distribuisca un’applicazione full-stack con database e servizio backend usando Docker Compose.

Distribuzione di app multi-servizio è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 3 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.

Distribuire applicazioni multi-servizio

Benvenuti! In questa lezione imparerete a mettere online un'applicazione full-stack utilizzando Docker Compose.

Vedrete come definire più servizi, ad esempio un'applicazione web e un database, per poi distribuirli e gestirli insieme.

Distribuzione di app multi-servizio — illustrazione 1

Il nostro esempio: Web e DB

Distribuiremo una semplice applicazione web che si connette a un database. Si tratta di una configurazione comune in molte applicazioni reali.

  • Servizio web: un'applicazione Python Flask che visualizza una pagina web di base.
  • Servizio database: un database PostgreSQL in cui memorizzare i dati.

Docker Compose semplifica l'orchestrazione di questi due servizi!

Creazione dell'immagine web

Il nostro servizio web ha bisogno di una propria immagine Docker. Ecco un Dockerfile semplificato che crea la nostra applicazione Python Flask.

Installa Flask e un connettore PostgreSQL, quindi esegue il nostro app.py.

FROM python:3.9-slim-buster

WORKDIR /app

COPY . /app

RUN pip install --no-cache-dir flask psycopg2-binary

EXPOSE 5000

CMD ["python", "app.py"]

Il file `docker-compose.yml`

Questo file docker-compose.yml definisce i nostri due servizi: web e db. Notate come il servizio web venga creato dal nostro Dockerfile e si connetta al servizio db utilizzando variabili d'ambiente.

version: '3.8'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    environment:
      DB_HOST: db
      DB_NAME: mydatabase
      DB_USER: user
      DB_PASSWORD: password
    depends_on:
      - db
  db:
    image: postgres:13
    environment:
      POSTGRES_DB: mydatabase
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  db_data:

Avvio dei servizi

Per avviare tutti i servizi definiti nel file docker-compose.yml, utilizzate il comando docker compose up.

Il flag -d esegue i container in modalità "detached", ovvero in background.

# This command starts your multi-service app
# and runs it in the background.
docker compose up -d

Verifica dei container in esecuzione

Dopo aver eseguito docker compose up -d, è consigliabile verificare che tutti i servizi siano in esecuzione come previsto.

Il comando docker compose ps elenca i servizi, il loro stato e le porte.

# Check the status of your services
docker compose ps

Connessione all'applicazione

Quando i servizi sono in esecuzione, è possibile accedere all'applicazione web.

  • Aprite il browser web.
  • Visitate http://localhost:5000.

Dovreste visualizzare un messaggio dell'applicazione Flask che conferma la connessione al database PostgreSQL!

Ridimensionamento dei servizi

Una delle funzionalità più potenti di Docker Compose è il ridimensionamento dei servizi. Se l'applicazione web deve gestire più traffico, è possibile aumentare facilmente il numero di istanze del servizio web.

Utilizzate il flag --scale con docker compose up.

# Scale the 'web' service to 3 instances
docker compose up --scale web=3 -d

Arresto e rimozione dei servizi

Quando avete terminato di utilizzare l'applicazione, potete arrestare e rimuovere tutti i servizi e le relative reti definiti nel file docker-compose.yml.

Il comando docker compose down esegue questa pulizia al posto vostro.

# Stop and remove all services
docker compose down

Verifica rapida

Considerate il file docker-compose.yml che abbiamo utilizzato. Avete appena avviato l'applicazione con docker compose up -d.

Qual è il comando principale per arrestare e rimuovere tutti i servizi in esecuzione e le risorse associate?

Riepilogo e prossimi passi

Ottimo lavoro! Avete imparato a distribuire e gestire un'applicazione composta da più servizi utilizzando Docker Compose.

  • Abbiamo definito i servizi nel file docker-compose.yml.
  • Abbiamo utilizzato docker compose up -d per avviare i servizi.
  • Abbiamo verificato lo stato con docker compose ps.
  • Abbiamo ridimensionato i servizi e utilizzato docker compose down per la pulizia.

Questa è una competenza fondamentale per lo sviluppo e i test in locale di applicazioni complesse!

Domande Frequenti

La lezione «Distribuzione di app multi-servizio» è gratuita?

Sì — il testo completo di «Distribuzione di app multi-servizio» è 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 «Distribuzione di app multi-servizio»?

Distribuisca un’applicazione full-stack con database e servizio backend usando Docker Compose. 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 3 di 4.

Quanto tempo richiede la lezione «Distribuzione di app multi-servizio»?

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

  1. Che cos’è Docker Compose?
  2. Scrittura di un file Compose
  3. Distribuzione di app multi-servizio
  4. Variabili d'ambiente e file .env
← Torna a DevOps Bootcamp