Primi passi con Docker su un VPS

Scritto dal team ApexVPS • Ultimo aggiornamento: luglio 2026 • 8 min di lettura

Eseguire Docker su un VPS è il modo più rapido per passare da un box Ubuntu vuoto a un'app web funzionante, un database o un servizio self-hosted in pochi minuti. Invece di lottare con i pacchetti di sistema e le dipendenze in conflitto, estrai un'immagine pre-costruita e avvii un container. Questa guida per principianti ti accompagna attraverso l'installazione di Docker e Docker Compose su Ubuntu o Debian, i concetti fondamentali che ti servono, l'avvio del tuo primo container, la persistenza dei dati con i volumi e alcune nozioni di sicurezza di base per evitare spiacevoli sorprese.

Perché eseguire Docker su un VPS?

Un server privato virtuale ti offre accesso root completo e risorse dedicate, esattamente ciò che i container richiedono. Con Docker installato puoi eseguire molti servizi isolati fianco a fianco senza che interferiscano tra loro. Ogni container include le proprie librerie, quindi un'app Node, un database Postgres e un reverse proxy possono coesistere pulitamente su una sola macchina. Se il tuo obiettivo è ospitare app su un VPS — pensa a un cloud personale, un wiki o un server multimediale — Docker mantiene ogni servizio ordinato e riproducibile.

I container sono anche portabili. Lo stesso file Compose che gira sul tuo laptop gira sul server, eliminando il classico problema del "funziona sulla mia macchina". Ricostruire un servizio dopo un errore richiede secondi, non un pomeriggio a reinstallare pacchetti.

Concetti fondamentali in parole semplici

Prima di toccare la riga di comando, è utile conoscere quattro elementi costitutivi:

Passaggio 1: Installa Docker su Ubuntu o Debian

Il modo più semplice e supportato ufficialmente per installare Docker Engine è lo script di convenienza. Connettiti al tuo server via SSH ed esegui:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Questo installa Docker Engine insieme al plugin Compose. Quando finisce, verifica le versioni:

docker --version
docker compose version

Per impostazione predefinita Docker richiede sudo. Per eseguirlo come utente normale, aggiungiti al gruppo docker e poi esci e rientra per rendere effettiva la modifica:

sudo usermod -aG docker $USER

Docker si avvia anche all'avvio del sistema sulla maggior parte dei sistemi. Se mai ne avessi bisogno, puoi abilitarlo manualmente:

sudo systemctl enable --now docker

Preferisci il metodo del repository di pacchetti o vuoi i dettagli completi per la tua distribuzione esatta? La documentazione ufficiale di installazione di Docker copre ogni opzione. Lo script di convenienza qui sopra è ideale per un nuovo VPS.

Passaggio 2: Esegui il tuo primo container

Prova l'installazione con l'immagine classica hello-world:

docker run hello-world

Docker scarica l'immagine, la esegue una volta e stampa un messaggio di conferma. Ora eseguiamo qualcosa che puoi davvero vedere. Questo comando avvia un server web Nginx in background e mappa la porta 8080 dell'host alla porta 80 del container:

docker run -d -p 8080:80 --name web nginx

Apri http://your-server-ip:8080 in un browser e dovresti vedere la pagina di benvenuto di Nginx. Alcuni flag che vale la pena conoscere:

Controlla cosa è in esecuzione, poi ferma e rimuovi il container quando hai finito:

docker ps
docker stop web
docker rm web

Una manciata di comandi copre la maggior parte del lavoro quotidiano. docker images elenca le immagini che hai scaricato, docker logs web mostra l'output di un container per la risoluzione dei problemi e docker exec -it web bash apre una shell all'interno di un container in esecuzione per esplorarlo. Imparare questi cinque o sei comandi è sufficiente per gestire un piccolo server con sicurezza, e puoi cercare il resto quando ti serve.

Passaggio 3: Usa Docker Compose per app multi-container

Scrivere lunghi docker run comandi alla fine stanca. Docker Compose ti permette di descrivere l'intero stack in un unico file e avviarlo con un solo comando. Crea un file chiamato compose.yaml:

services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - web-data:/usr/share/nginx/html
    restart: unless-stopped

volumes:
  web-data:

Dalla stessa directory, avvia tutto in background:

docker compose up -d

Compose crea automaticamente la rete, il volume nominato e il container per te. Utili compagni:

docker compose ps
docker compose logs -f
docker compose down

La policy restart: unless-stopped fa sì che il servizio riparta automaticamente dopo un riavvio o un crash — comodo per un server che non stai monitorando 24 ore su 24.

Passaggio 4: rendi i dati persistenti con i volumi

Questa è la parte in cui i principianti sbagliano più spesso. Tutto ciò che viene scritto nel filesystem di un container sparisce quando quel container viene rimosso o ricreato. Per conservare i dati, mettili in un volume. Ci sono due approcci comuni:

Ispeziona e gestisci i volumi dalla riga di comando:

docker volume ls
docker volume inspect web-data

Finché i tuoi percorsi importanti puntano a un volume, puoi eliminare e ricostruire i container tutto il giorno senza perdere un byte. Fai il backup della directory dei volumi insieme ai backup del server.

Passaggio 5: aggiorna immagini e container

Le immagini dei container ricevono aggiornamenti di sicurezza e funzionalità come qualsiasi software. Aggiornare uno stack Compose è una routine in due passaggi: scarica le immagini più recenti, poi ricrea i container.

docker compose pull
docker compose up -d

Poiché i tuoi dati vivono nei volumi, la ricreazione è sicura. Con il tempo, le immagini inutilizzate si accumulano e occupano spazio su disco. Puliscile ogni tanto:

docker image prune

Fissa versioni specifiche (ad esempio postgres:16 invece di latest) quando vuoi aggiornamenti prevedibili e ripetibili, invece di sorprese.

Sicurezza Docker di base per principianti

I container sono comodi, ma non sono un confine di sicurezza magico. Alcune buone abitudini ti tengono fuori dai guai:

Prima di esporre qualsiasi cosa pubblicamente, segui la nostra checklist complementare su come proteggere il tuo VPS nei primi 10 minuti — copre chiavi SSH, firewall e aggiornamenti automatici che si abbinano perfettamente a un host Docker.

Scegliere un VPS pronto per Docker

Docker funziona anche su hardware modesto, ma le risorse dedicate fanno la differenza quando impili più container. L'hosting condiviso e oversold significa che un vicino rumoroso può rallentare il tuo database nel momento peggiore. ApexVPS ti offre vCPU realmente dedicati, storage NVMe SSD e accesso root completo, così i tuoi container ottengono le prestazioni per cui paghi. Ogni piano supporta Ubuntu, Debian e altre distribuzioni popolari, e puoi inserire la tua chiave SSH al momento della registrazione.

Il checkout è solo in criptovaluta tramite OxaPay e accetta Bitcoin, Ethereum, USDT e oltre 30 criptovalute: niente carta di credito, niente conto bancario e nessun KYC. Fornisci un'email per ricevere i dettagli di accesso e basta. Confronta specifiche e regioni nella pagina prezzi di ApexVPS per trovare un piano adatto al tuo carico di lavoro containerizzato.

Domande frequenti

Mi serve molta RAM per eseguire Docker su un VPS?

No. Docker stesso è leggero e aggiunge poco overhead. Uno o due container girano comodamente con 2 GB di RAM, mentre 4 GB o più danno margine per database e diversi servizi contemporaneamente.

Si usa docker-compose o docker compose?

In un'installazione moderna, Compose è incluso come plugin, quindi il comando è docker compose con uno spazio. Il vecchio binario standalone docker-compose funziona ancora ma è in fase di dismissione: usa la versione plugin su un'installazione nuova.

Dove vengono salvati i miei dati quando un container viene eliminato?

Tutto ciò che viene scritto all'interno del container viene perso alla rimozione. Memorizza i dati importanti in un volume nominato o in un bind mount in modo che sopravvivano alla ricreazione del container. È così che database e upload restano al sicuro.

Posso pagare un VPS pronto per Docker con criptovaluta?

Sì. Il checkout di ApexVPS è solo criptovaluta tramite OxaPay e accetta Bitcoin, Ethereum, USDT e oltre 30 monete. La registrazione richiede solo un'email, senza carta di credito e senza verifica dell'identità.

Pronto a lanciare il tuo primo container? Vedi i piani VPS pronti per Docker →