Docker Swarm · 4 min read · Feb 07, 2026

Come configurare e configurare un cluster Docker Swarm su Ubuntu

Docker Swarm è uno strumento che consente di distribuire un cluster di host Docker. È uno strumento di clustering nativo fornito da Docker che offre alta disponibilità e alte prestazioni per la tua applicazione distribuendola a tutti i nodi all’interno del cluster swarm.

In questo tutorial, ti mostreremo passo dopo passo come creare un cluster Swarm utilizzando Ubuntu 16.04. Creeremo un cluster swarm utilizzando 2 macchine server Ubuntu, 1 nodo server come manager e 1 altro come worker. E poi cercheremo di distribuire il semplice servizio Nginx al cluster swarm.

Prerequisiti

  • 2 o più - Ubuntu 16.04 Server - manager     132.92.41.4
  • worker01   132.92.41.5
  • Privilegi di root

Cosa faremo?

  1. Configurare gli Host
  2. Installare Docker-ce
  3. Inizializzazione di Docker Swarm
  4. Distribuzione del primo servizio al cluster

Passo 1 - Configurare gli Host

Prima di installare qualsiasi pacchetto per il cluster swarm, configureremo il file hosts su entrambi i server.

Esegui i comandi qui sotto su tutti i server, ‘manager’ e ‘worker01’.

Modifica il file ‘/etc/hosts’ utilizzando l’editor vim.

vim /etc/hosts

Aggiungi la seguente configurazione alla fine della riga.

132.92.41.4    manager  
132.92.41.5    worker01

Salva ed esci.

Ora ping tutti i nodi utilizzando ‘hostname’ invece di utilizzare l’indirizzo IP.

ping -c 3 manager  
ping -c 3 worker01

E assicurati che funzioni su tutti gli host.

Configura gli host

Passo 2 - Installare Docker-ce

Per creare il cluster swarm, dobbiamo installare Docker su tutti i nodi server. In questo passo, installeremo Docker-ce Community Edition su entrambi i server manager e worker01.

Installa le dipendenze di Docker-ce utilizzando il comando apt qui sotto.

sudo apt install apt-transport-https software-properties-common ca-certificates -y

Ora aggiungi la chiave di Docker e il repository di Docker-ce ai nostri server.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -  
sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" > /etc/apt/sources.list.d/docker-ce.list

Aggiorna il repository e installa i pacchetti Docker-ce utilizzando il comando apt install qui sotto.

sudo apt update  
sudo apt install docker-ce -y

Dopo che l’installazione è completata, avvia il servizio docker e abilitalo per avviarsi ogni volta all’avvio del sistema.

systemctl start docker  
systemctl enable docker

Docker-ce è ora installato sui nostri nodi server.

Successivamente, configureremo Docker per funzionare come un utente normale o non-root.

Crea un nuovo utente di nome ‘mohammad’ e aggiungilo al gruppo ‘docker’.

useradd -m -s /bin/bash mohammad  
sudo usermod -aG docker mohammad

Ora accedi all’utente ‘mohammad’ ed esegui il comando docker hello-world come qui sotto.

su - mohammad  
docker run hello-world

E riceverai il messaggio hello world da Docker come mostrato qui sotto.

Installa Docker-ce

Passo 3 - Creare il Cluster Swarm

In questo passo, creeremo il Cluster Swarm dei nostri nodi. E per creare i nodi del cluster swarm, dobbiamo inizializzare la modalità swarm sul nodo ‘manager’ e poi unire il nodo ‘worker01’ al cluster.

Inizializza la modalità Docker Swarm eseguendo il comando docker qui sotto sul nodo ‘manager’.

docker swarm init --advertise-addr 132.92.41.4

E riceverai il risultato come mostrato qui sotto.

Vedrai che il ‘join-token’ è stato generato dal nodo ‘manager’.

Successivamente, dobbiamo aggiungere il nodo ‘worker01’ al cluster ‘manager’. E per farlo, abbiamo bisogno di un ‘join-token’ dal nodo ‘manager’ del cluster, quindi assicurati di scriverlo sul tuo appunto.

Esegui il comando docker swarm join sul nodo ‘worker01’.

docker swarm join --token SWMTKN-1-5p5ujrr67rl2rlmyvrj56fksblbcrtaeirf7fj5r4snid2vn6y-918gbqr02m64xct43i2ssi4qs 132.92.41.4:2377

Ora riceverai il risultato come mostrato qui sotto.

Il nodo ‘worker01’ è stato unito al cluster.

Controlla eseguendo il seguente comando sul nodo ‘manager’.

docker node ls

Ora vedi che il nodo ‘worker01’ è stato unito al cluster swarm.

Il Cluster Swarm è stato creato.

Passo 4 - Distribuzione del Primo Servizio al Cluster

In questo passo, creeremo e distribuiremo il nostro primo servizio al cluster swarm. Vogliamo creare un nuovo servizio Nginx web server che verrà eseguito sulla porta http predefinita 80, e poi esporlo sulla porta 8080 sul server host, e poi provare a replicare il servizio nginx all’interno del cluster swarm.

Crea Servizio

Crea un nuovo servizio Nginx chiamato ‘my-web’ ed espandi la porta HTTP del contenitore sulla porta 8080 sull’host.

docker service create --name my-web --publish 8080:80 nginx:1.13-alpine

E quando è stato creato, controlla utilizzando il comando docker service qui sotto.

docker service ls

E riceverai il risultato come mostrato qui sotto.

Il servizio Nginx è stato creato e distribuito al cluster swarm come servizio chiamato ‘my-web’, è basato su Nginx Alpine Linux, espone la porta HTTP del servizio contenitore sulla porta ‘8080’ sull’host, e ha solo 1 replica.

Repliche e Scala del Servizio

Ora faremo repliche per il servizio ‘my-web’. Faremo 2 repliche del servizio ‘my-web’, in modo che il servizio sia accessibile sui nodi ‘manager’ e ‘worker01’.

Per replicare il servizio ‘my-web’, esegui il seguente comando.

docker service scale my-web=2

E dopo che è completo, controlla di nuovo utilizzando il comando docker service.

docker service ls

E ora il server ha 2 repliche.

Repliche e Scala del Servizio

Apri il tuo browser web e digita l’indirizzo IP del nodo manager con la porta 8080.

http://manager:8080/

E riceverai la pagina predefinita di Nginx.

Di seguito è riportato il risultato dal nodo ‘worker01’.

http://worker01:8080/

Il Cluster Swarm è stato creato e il servizio Nginx è stato completamente distribuito al nostro Cluster Swarm.

Riferimento

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.