Distribuzione di servizi su Swarm
Distribuisca e ridimensioni applicazioni containerizzate come servizi nel cluster Swarm, gestendone il ciclo di vita.
Distribuzione di servizi su Swarm è una lezione Docker & DevOps Fundamentals 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 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.
Che cos'è un servizio Docker Swarm?
In Docker Swarm, un service è la definizione di come si desidera eseguire un'applicazione containerizzata nel cluster.
Anziché eseguire singoli container, definisce un servizio per comunicare a Swarm: "Voglio eseguire X istanze di questa immagine, su queste porte e con queste impostazioni."
Swarm garantisce quindi il mantenimento dello stato desiderato, riavviando automaticamente i container in caso di errore.

Servizi e container a confronto
Immagini di vederla in questo modo:
- Un container è una singola istanza di un'applicazione.
- Un service è un modello per eseguire uno o più container identici, chiamati task, nel proprio Swarm.
I servizi garantiscono alta disponibilità e scalabilità distribuendo i task e gestendo automaticamente gli errori.
Distribuzione del primo servizio
Il comando docker service create consente di distribuire le applicazioni come servizi nel cluster Swarm. Creiamo un semplice server web Nginx.
Provi a eseguire questo esempio:
docker service create \
--name my-web-app \
-p 80:80 \
--replicas 1 \
nginxComprendere la creazione di un servizio
Analizziamo il comando appena utilizzato:
--name my-web-app: assegna al servizio un nome facilmente memorizzabile.-p 80:80: associa la porta 80 sui nodi Swarm alla porta 80 all'interno del container.--replicas 1: indica a Swarm di mantenere in esecuzione una singola istanza, o task, del servizio.nginx: specifica l'immagine Docker da utilizzare per i task del servizio.
Ispezione dei servizi
Dopo aver creato un servizio, vorrà verificarne lo stato e visualizzare i task in esecuzione. Utilizzi questi comandi:
docker service ls: elenca tutti i servizi dello Swarm.docker service ps <service_name>: mostra i singoli task, ovvero i container, associati a un servizio.
docker service ls
docker service ps my-web-appAumento della scala del servizio
Uno dei principali vantaggi di Docker Swarm è la facilità di scalabilità. Può aumentare il numero di istanze, o repliche, in esecuzione del servizio con un solo comando.
Aumentiamo a tre repliche il servizio my-web-app:
docker service scale my-web-app=3Riduzione della scala del servizio
Con la stessa facilità, può ridurre la scala del servizio per diminuire l'utilizzo delle risorse o gestire il traffico. Swarm arresterà gradualmente i container in eccesso mantenendo in esecuzione quelli rimanenti.
Riduciamo nuovamente a una replica il servizio my-web-app:
docker service scale my-web-app=1Aggiornamento di un servizio
Quando deve distribuire una nuova versione dell'applicazione o modificare le impostazioni del servizio, docker service update esegue un rolling update. Swarm aggiorna i task uno alla volta, assicurando che l'applicazione rimanga disponibile.
Aggiorniamo il servizio Nginx a una versione specifica:
docker service update --image nginx:1.25 my-web-appRimozione di un servizio
Quando un servizio non è più necessario, può rimuoverlo dallo Swarm. Questa operazione arresterà tutti i task associati ed eliminerà la definizione del servizio dal cluster.
Per rimuovere il servizio dell'app web di esempio:
docker service rm my-web-appQuiz sulla gestione dei servizi
Ha un servizio denominato my-backend in esecuzione con 3 repliche e che utilizza l'immagine my-backend:v1. Deve aggiornarlo affinché utilizzi la nuova immagine my-backend:v2 e aumentare inoltre il numero di repliche a 5.
Riepilogo: servizi Swarm
Ottimo lavoro! Ha appreso gli elementi essenziali per distribuire e gestire le applicazioni come servizi in Docker Swarm.
- I servizi definiscono lo stato desiderato delle applicazioni containerizzate.
- Ha imparato a creare servizi utilizzando
docker service create. - Abbiamo trattato l'ispezione, la scalabilità (
docker service scale) e l'aggiornamento (docker service update) dei servizi. - Infine, può rimuovere i servizi con
docker service rm.
I servizi sono fondamentali per creare applicazioni scalabili e resilienti in un cluster Swarm!
Impara Docker & DevOps Fundamentals con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 12
- Lezioni
- 48
Domande Frequenti
La lezione «Distribuzione di servizi su Swarm» è gratuita?
Sì — il testo completo di «Distribuzione di servizi su Swarm» è 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 «Distribuzione di servizi su Swarm»?
Distribuisca e ridimensioni applicazioni containerizzate come servizi nel cluster Swarm, gestendone il ciclo di vita. 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 3 di 4.
Quanto tempo richiede la lezione «Distribuzione di servizi su Swarm»?
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
- Introduzione a Docker Swarm
- Configurazione di un cluster Swarm
- Distribuzione di servizi su Swarm
- Scalabilità e rolling update in Swarm