OffshoreVps
Tutorial12 ott 20267 min di letturaDi il team di OffshoreVps

Come installare Docker e Docker Compose su un VPS Ubuntu

Installa Docker Engine dal repository ufficiale, eseguilo senza sudo, avvia un primo servizio Compose ed evita la trappola del firewall che espone le porte.

Docker ti permette di eseguire database, app web e strumenti in container isolati, così installare qualcosa di nuovo non rovina mai il resto del server. Questa guida installa Docker Engine e Docker Compose su Ubuntu ed esegue un primo servizio reale.

Finestra del terminale su un VPS che mostra i comandi usati per installare Docker su un VPS Ubuntu, a partire da “sudo apt update”
Il tipo di comandi che eseguirai sul tuo server in questa guida.

1. Installa dal repository di Docker

sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Verifica l’installazione con sudo docker run hello-world.

2. Esegui Docker senza sudo

sudo usermod -aG docker $USER
newgrp docker

I membri del gruppo docker hanno di fatto poteri da root sulla macchina, quindi aggiungi solo utenti di cui ti fidi.

3. Il tuo primo file Compose

Crea una cartella e un file compose.yaml che esegue lo strumento di monitoraggio Uptime Kuma:

mkdir -p ~/kuma && cd ~/kuma
cat > compose.yaml <<'EOF'
services:
  kuma:
    image: louislam/uptime-kuma:1
    restart: unless-stopped
    ports:
      - "127.0.0.1:3001:3001"
    volumes:
      - ./data:/app/data
EOF
docker compose up -d

Associare a 127.0.0.1 tiene la porta fuori da internet pubblico. Metti davanti un reverse proxy come Nginx o Caddy quando vuoi raggiungerlo dall’esterno.

I passaggi di questa guida in ordine: 1. 1. Installa dal repository di Docker; 2. 2. Esegui Docker senza sudo; 3. 3. Il tuo primo file Compose; 4. Comandi di uso quotidiano; 5. Un avviso di sicurezza sui firewall; 6. Cosa eseguire dopo
I passaggi di questa guida, in ordine.

Comandi di uso quotidiano

  • docker ps elenca i container in esecuzione.
  • docker compose logs -f segue i log.
  • docker compose pull && docker compose up -d aggiorna alle immagini più recenti.
  • docker system prune rimuove le immagini inutilizzate e i container fermi.

Un avviso di sicurezza sui firewall

Docker scrive le proprie regole iptables. Una porta pubblicata come "8080:80" può essere raggiungibile da internet anche se UFW dice che è bloccata. Pubblica solo ciò che deve essere pubblico, associa i servizi privati a 127.0.0.1 e testa dall’esterno con un port scanner.

Cosa eseguire dopo

Tra le app self-hosted più popolari ci sono Nextcloud, Vaultwarden, Gitea, Plausible, n8n e Jellyfin. Leggi la nostra guida a ospitare Nextcloud in autonomia per un esempio completo.