Docker Guide · 6 min read · Feb 05, 2026

Guida Docker: Installazione di Traefik - un Moderno Reverse Proxy per Microservizi

Traefik è un moderno reverse proxy HTTP e bilanciatore di carico per microservizi. Traefik rende facile il deployment di tutti i microservizi, integrandosi con componenti infrastrutturali esistenti come Docker, Swarm Mode, Kubernetes, Amazon ECS, Rancher, Etcd, Consul, ecc.

Traefik funge da router per tutte le tue applicazioni microservizi, instradando tutte le richieste dei client verso la corretta destinazione dei microservizi.

In questo tutorial, ti mostrerò passo dopo passo come installare e configurare Traefik, un moderno reverse proxy, come container Docker su Ubuntu 18.04 LTS (Bionic Beaver).

Prerequisiti

  • Ubuntu 18.04
  • Privilegi di root

Cosa faremo?

  1. Installare Docker su Ubuntu 18.04
  2. Installare Docker Compose
  3. Creare una rete Docker personalizzata
  4. Installare e configurare Traefik
  5. Testare

Passo 1 - Installare Docker su Ubuntu 18.04

Per questa guida, utilizzeremo l’ultima versione di Docker che può essere installata dal repository ufficiale di Docker.

Aggiungi la chiave e il repository di Docker utilizzando il comando qui sotto.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -  
sudo add-apt-repository \  
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \  
   $(lsb_release -cs) \  
   stable"

Il comando ‘add-apt-repository’ aggiornerà automaticamente tutti i repository.

Installare Docker su Ubuntu

Ora installa l’ultima versione di docker-ce.

sudo apt install docker-ce

Dopo che l’installazione è completata, avvia il servizio Docker e abilitalo per l’avvio automatico ad ogni avvio del sistema.

systemctl start docker  
systemctl enable docker

La community edition di Docker è stata installata sul sistema Ubuntu 18.04, controlla la versione di Docker installata.

docker version

Controlla la versione di Docker

Aggiuntivo: Eseguire Docker per utenti non root

Il container Docker può essere eseguito sotto un utente non root. Dobbiamo solo aggiungere l’utente al gruppo Docker.

Aggiungi l’utente ‘mohammad’.

useradd -m -s /bin/bash mohammad

Ora aggiungi l’utente ‘mohammad’ al gruppo Docker, quindi riavvia il servizio Docker.

usermod -a -G docker mohammad  
systemctl restart docker

Testa eseguendo il docker hello-world.

docker run -it hello-world

Ecco il risultato.

Eseguire Docker per utenti non root

Passo 2 - Installare Docker Compose

Docker-Compose è uno strumento da riga di comando per definire e gestire applicazioni Docker multi-container.

Docker Compose è uno script Python, può essere installato con il comando pip di Python o con il comando apt dal repository di Ubuntu facilmente. Con Compose, possiamo eseguire più container Docker con un unico comando.

Installa Docker Compose dal repository utilizzando il comando apt qui sotto.

sudo apt install docker-compose

Dopo che l’installazione è completata, controlla la versione di Docker Compose.

docker-compose version

La versione 1.17 di Docker Compose è stata installata su Ubuntu 18.04.

Installare Docker Compose

Passo 3 - Creare una rete Docker personalizzata

In questo tutorial, il container traefik verrà eseguito sulla rete Docker personalizzata. Quindi dobbiamo creare una nuova rete Docker personalizzata sul server.

Controlla le reti Docker disponibili sul sistema.

docker network ls

Ora crea una nuova rete personalizzata chiamata ‘proxy’ per il container traefik.

docker network create proxy

E otterrai una stringa casuale del nome della rete del container. Controlla di nuovo le reti disponibili.

docker network ls

Di seguito è mostrato il risultato.

Creare una rete Docker personalizzata

La rete Docker personalizzata chiamata ‘proxy’ per traefik è stata creata.

Passo 4 - Installare e configurare il reverse proxy Traefik

In questo passo, creeremo il container traefik con HTTPS letsencrypt abilitato (utilizzando un nome di dominio ‘traefik.hakase-labs.io), e reindirizzare automaticamente HTTP a HTTPS su traefik.

Pre-Installazione di Traefik

Prima di creare tutta la configurazione di traefik, dobbiamo installare ‘apache2-utils’ per generare la password htpasswd crittografata e creare la nuova directory traefik.

Installa ‘apache2-utils’ utilizzando il comando apt qui sotto.

sudo apt install apache2-utils -y

Ora esegui il comando htpasswd qui sotto per generare una nuova password per l’autenticazione del dashboard di traefik.

htpasswd -nb mohammad password

Tieni il risultato nel tuo appunto.

mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi.

Installare e configurare il reverse proxy Traefik

Successivamente, accedi come utente ‘mohammad’.

su - mohammad

Crea una nuova directory chiamata ‘traefik’ per tutta la configurazione di traefik.

mkdir -p traefik/  
cd traefik/

Creare la configurazione di Traefik

Vai nella directory ‘traefik’ e crea un nuovo file di configurazione ‘traefik.toml’ utilizzando l’editor vim.

cd traefik/  
vim traefik.toml

Incolla la configurazione qui sotto.

#Traefik Global Configuration
debug = false
checkNewVersion = true
logLevel = "ERROR"

#Definire l'EntryPoint per HTTP e HTTPS
defaultEntryPoints = ["https","http"]

#Abilitare il Dashboard di Traefik sulla porta 8080
#con metodo di autenticazione di base
#mohammad e password
[web]
address = ":8080"
[web.auth.basic]
users = ["mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi."]

#Definire la porta HTTP 80 e
#porta HTTPS 443 EntryPoint
#Abilitare il reindirizzamento automatico da HTTP a HTTPS
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]

#Abilitare il retry per inviare una richiesta se c'è un errore di rete
[retry]

#Definire la configurazione del backend Docker
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "traefik.hakase-labs.io"
watch = true
exposedbydefault = false

#Registrazione Letsencrypt
#Definire la sfida HTTP ACME di Letsencrypt
[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
  [acme.httpChallenge]
  entryPoint = "http"

Salva ed esci.

Nota:

Tutte le informazioni sulla configurazione sono nella sezione commento ‘ #… ‘.

Creare lo script Docker Compose di Traefik

Ora crea lo script yml di docker-compose.

vim docker-compose.yml

Incolla la configurazione qui sotto.

version: '3'

services:

  traefik:
    image: traefik:latest
    command: --docker --docker.domain=hakase-labs.io
    ports:
      - 80:80
      - 443:443
    networks:
      - proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.toml:/traefik.toml
      - ./acme.json:/acme.json
    labels:
      - "traefik.frontend.rule=Host:traefik.hakase-labs.io"
      - "traefik.port=8080"
    container_name: traefik
    restart: always

networks:
  proxy:
    external: true

Salva ed esci.

Nota:

  1. Stiamo creando un nuovo container chiamato ‘traefik’ basato sull’immagine Docker ‘traefik:latest’.
  2. Il container ‘traefik’ verrà eseguito sulla rete Docker personalizzata chiamata ‘proxy’ ed esporrà le porte esterne HTTP 80 e HTTPS 443.
  3. Il container monterà la configurazione di traefik ‘traefik.toml’ e ‘acme.json’, incluso il file docker sock.
  4. Configurazione delle etichette per traefik, il nome di dominio frontend e la porta di traefik.

Configurazione ACME di Letsencrypt

La configurazione acme su ‘traefik.toml’ è utilizzata per generare automaticamente il SSL letsencrypt. Ed è richiesta per il file di archiviazione ‘acme.json’.

Crea un nuovo file JSON ‘acme.json’ e cambia i permessi a ‘600’.

touch acme.json  
chmod 600 acme.json

Tutti i log riguardanti le informazioni SSL letsencrypt saranno salvati nel file.

Costruire il container Traefik

Ora siamo pronti per costruire il nostro container traefik utilizzando i file di configurazione sopra.

cd traefik/  
ls -lah

Tutte le configurazioni ‘traefik.toml’, ‘docker-compose.yml’ e ‘acme.json’.

Costruire il container Traefik

Costruisci il container utilizzando il comando docker compose qui sotto.

docker-compose up -d

Quando è completo, controlla il container in esecuzione.

docker-compose ps

E otterrai il container Traefik in esecuzione, esponendo le porte esterne HTTP e HTTPS.

Passo 5 - Testare

Apri il tuo browser web e digita il nome di dominio traefik nella barra degli indirizzi. Il mio è:

http://traefik.hakase-labs.io/

Verrai reindirizzato alla connessione HTTPS e ti verrà chiesto di autenticazione con nome utente e password.

Accedi con l’utente ‘mohammad’ e la password è ‘password’.

E otterrai il dashboard di Traefik come sotto.

Dashboard di Traefik

Pagina di stato di salute di Traefik.

Pagina di stato di salute di Traefik

Il moderno reverse proxy HTTP Traefik è stato installato come container Docker su Ubuntu 18.04.

Riferimento

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.