Hai mai sentito parlare di Dockerception?
Beh, tieniti forte al cappello. Stiamo per addentrarci nel mondo nascosto.
Portainer, l’interfaccia web che stai per installare su Docker, è a sua volta un contenitore Docker.
È uno strumento che funziona sulla stessa cosa che gestisce. Lo avvii con una riga di docker run, e la prima cosa che fa è tornare indietro attraverso un piccolo buco nell’host (un file socket) e chiedere al demone Docker di mostrargli ogni altro container, incluso se stesso. Da quella scheda del browser, puoi aggiornare Portainer. Riavviare Portainer. E gestire tutti gli altri tuoi container Docker.
L’interfaccia utente che stai guardando è a un clic di distanza dall’eliminare l’interfaccia utente che stai guardando.
Su un VPS dove già paghi per il box e sei già a tuo agio con SSH, Portainer si inserisce perfettamente sopra Docker senza modificare il funzionamento di ciò che c’è sotto.
Quello è il valore.
Una box da 4 GB esegue Docker, Portainer e una piccola flotta di app auto-ospitate senza alcun problema. E si posiziona intorno al costo di un paio di abbonamenti a servizi di streaming al mese. Abbastanza per gestire l’automazione domestica, l’archivio fotografico di famiglia, l’assistente IA e la newsletter che minacciavi di lanciare — su un server di tua proprietà.
Ecco come farlo funzionare, proteggerlo e iniziare a vederne il valore.
Cos’è Esattamente Portainer?

Portainer è una UI web che funziona come un container Docker e gestisce gli altri tuoi container tramite il socket Docker.
È essenzialmente un frontend basato su browser per gli stessi comandi Docker che altrimenti digiteresti a mano, oltre alla gestione dello stack, accesso basato sui ruoli (se aggiorni) e una vista dashboard della CPU e della memoria.
La connessione al socket è ciò che la fa funzionare. Il bind appare come -v /var/run/docker.sock:/var/run/docker.sock nel comando di installazione, e quella singola linea sta facendo tutto il lavoro pesante. Senza di essa, Portainer è una UI per un Docker host vuoto. Con essa, Portainer è il telecomando del Docker host.
Una cosa da tenere a mente: qualsiasi processo che può accedere a /var/run/docker.sock può effettivamente eseguire qualsiasi operazione come root sull’host. Questo è una funzionalità quando è Portainer a richiederlo e un problema quando è un container che hai avviato la settimana scorsa e di cui hai dimenticato di aver dato l’accesso al socket.
Tratta il binding del socket come una capacità privilegiata, e verifica ogni altro container che ne richiede uno.
Hai Bisogno Di Portainer Se Hai Già Docker?
Nope. Docker funziona bene dal terminale, e molte persone gestiscono un paio di container per anni senza mai installare una interfaccia utente sopra.
Vuoi Portainer se:
- Gestirai più di due o tre container Docker in diverse app.
- Preferisci cliccare su “riavvia” piuttosto che riscrivere un comando Compose alle 11 di sera.
- Stai condividendo l’accesso con qualcuno che non vive in un terminale.
- Vuoi distribuire aggiornamenti di stack da un repo Git senza scrivere uno script di deploy.
Salta Portainer se:
- Gestisci uno o due container che cambiano raramente.
- Sei già a tuo agio con Docker Compose e sei felice di continuare a usarlo.
Docker è ormai così diffuso che questa non è una decisione di nicchia. Secondo il Sondaggio degli Sviluppatori di Stack Overflow del 2025, Docker è la piattaforma di container più adottata tra gli sviluppatori con oltre il 70% di utilizzo — il maggiore incremento annuale di qualsiasi tecnologia monitorata dal sondaggio. Il progetto Portainer ha circa 37.000 stelle su GitHub.
Esistono altre opzioni. Coolify si spinge ulteriormente verso astrazioni in stile PaaS, e Dokploy si posiziona in un territorio simile con un’impronta più leggera — ma Portainer è quello che la maggior parte delle guide all’installazione sceglie per primo.
Se vivi in tmux e gestisci una sola app, chiudi questa scheda. Va tutto bene. Se gestisci quattro app auto-ospitate e hai cercato su Google “Che cosa sono i log di Docker?” due volte questo mese, continua a leggere.
Quanto Grande Deve Essere Un VPS Per Eseguire Docker e Portainer?
Un VPS da 4 GB gestisce Portainer più una piccola pila di container per progetti secondari con facilità.
Portainer raccomanda un host con almeno 2 GB di RAM e 1 core della CPU, anche se il processo del server Portainer si mantiene inattivo intorno ai 100 MB. Il demone Docker aggiunge alcuni centinaia di MB di sovraccarico prima che le tue applicazioni inizino.
Ecco come si applica a carichi di lavoro reali:

Da DreamHost, il nostro Self-Managed VPS offre quattro livelli Stack basati su RAM (Stack 4, 8, 16 e 32), con il livello iniziale Stack 4 dimensionato esattamente per questo tipo di piccolo host Docker. (E sì, sono inclusi anche lo storage NVMe e l’accesso completo a Root.)
Se sei indeciso se il self-hosting vale la pena di tempo, Stack 4 è la dimensione in cui i calcoli iniziano a lavorare a tuo favore fin dal primo giorno.
Una Nota Sull’archiviazione: L’impronta di archiviazione di Portainer è minima — memorizza solo il proprio database di configurazione. I documenti di Portainer raccomandano prestazioni a livello di SSD (≈3.5 MB/s sostenuti, più di 30.000 IOPS, latenza di scrittura <10ms), che qualsiasi unità NVMe moderna supera facilmente. Il disco diventa una vera preoccupazione solo se gestisci contenitori che fanno pesante uso di database come Postgres o MySQL accanto ad esso. Se il tuo VPS utilizza un disco rigido meccanico nel 2026, l’interfaccia utente di Portainer inizierà a sentirsi lenta molto prima della RAM. Il nostro consiglio: aggiorna il disco prima del piano.
Come Installare Docker e Portainer su un VPS?

Ci vogliono sei passaggi e circa 30 minuti, la maggior parte del tempo è attesa per il caricamento delle immagini.
1. Scegli una distribuzione Linux
Ubuntu 22.04 o 24.04 LTS è il percorso di minore resistenza. Ubuntu è ciò che viene eseguito di default sui VPS Self-Managed di DreamHost, e la maggior parte degli snippet di installazione Docker e dei thread di aiuto della comunità lo presuppongono. Anche Debian e AlmaLinux funzionano, comunque.
Non sei sicuro di quale versione di Ubuntu stai utilizzando? Scopri cinque modi per verificarlo.
2. Installa Docker Dal Repository Ufficiale
Non apt install docker.io. Questo scarica una versione più vecchia di Docker dall’archivio Ubuntu.
Invece, utilizza il proprio repository apt di Docker secondo la documentazione ufficiale di installazione di Docker, che aggiunge la chiave GPG di Docker, il repository e docker-ce più il plugin Compose in un’unica soluzione.
3. Verifica che Docker sia in esecuzione
Avvia docker run hello-world.
Se non ricevi il messaggio “Hello from Docker!”, correggi il demone prima di sovrapporre Portainer.
4. Crea Un Volume Persistente Per I Dati Di Portainer
In seguito, esegui docker volume create portainer_data.
Mantenere il database di Portainer su un volume Docker (non all’interno del container) significa che un aggiornamento di Portainer non cancellerà la tua configurazione.
5. Esegui Portainer Community Edition
Utilizza il comando ufficiale di installazione da documentazione di installazione di Portainer per Linux:
docker run -d
-p 8000:8000
-p 9443:9443
--name portainer
--restart=always
-v /var/run/docker.sock:/var/run/docker.sock
-v portainer_data:/data
portainer/portainer-ce:lts Analizziamolo linea per linea:
-dlo esegue in modalità distaccata.-p 9443:9443è l’interfaccia utente web di Portainer su HTTPS.-p 8000:8000è il tunnel dell’Edge Agent; ne hai bisogno solo se intendi connettere ambienti remoti (Docker, Swarm o Kubernetes) tramite Edge Agents in seguito, quindi omettilo in un’installazione su un singolo host.--restart=alwaysfa ripartire Portainer dopo un riavvio.-vindica il collegamento del socket e il volume persistente dal passaggio 4.:ltsè il canale di rilascio a supporto esteso di Portainer — la build stabile raccomandata per la produzione.
6. Apri l’Interfaccia e Crea il Tuo Account Admin
Indirizza il tuo browser su https://YOUR_VPS_IP:9443.
Clicca attraverso l’avviso del certificato firmato automaticamente. Arriverai alla schermata “crea l’utente amministratore iniziale”. Scegli un nome utente che non sia admin, imposta una password forte e salvala in un posto sicuro. E… sei dentro!
Perché Portainer È Appena Andato In Timeout?
Perché Portainer attende esattamente cinque minuti affinché qualcuno lo rivendichi alla prima installazione. Se nessuno lo fa, chiude la porta.
Testo esatto dalla FAQ di Portainer:
“Come misura di sicurezza, quando Portainer viene installato per la prima volta, attenderà 5 minuti per la creazione di un utente amministratore. Se un utente non viene creato entro quei 5 minuti, il Server Portainer smetterà di ascoltare le richieste.“
Traduzione: se hai impiegato il Passo 5 a fare un panino, ora la tua installazione si rifiuta di parlarti — e non hai fatto nulla di sbagliato.
La soluzione è semplice. Esegui docker restart portainer.
Questo fa ripartire il container, ti dà un altro intervallo di cinque minuti e ti porta alla schermata di creazione dell’amministratore. Ripeti quanto necessario. Benvenuto nel self-hosting.
Se stai scriptando l’installazione per una flotta (Ansible, Terraform, un pipeline di deploy), Portainer accetta un flag --admin-password-file all’avvio che bypassa completamente il timer creando l’utente admin da un file al primo avvio. Il documento di installazione copre la sintassi. Per un’installazione VPS una tantum, il trucco del riavvio va bene.
Come Fermi Docker Dal Bypassare Il Tuo Firewall?

Questo sorprende le persone in produzione, non solo in sviluppo — quindi ascolta.
Quando esegui docker run -p 80:80, la porta pubblicata è accessibile da internet anche se ufw status indica che la porta 80 è negata. Docker indirizza il traffico del container nella tabella NAT, il che significa che i pacchetti vengono deviati prima di raggiungere le catene INPUT e OUTPUT che UFW utilizza.
UFW non è rotto. È solo nel corridoio sbagliato.
La soluzione raccomandata da Docker stesso è la catena iptables DOCKER-USER, riservata alle regole dell’amministratore in modo che Docker non le sovrascriva al riavvio. (Le regole non sopravvivono a un riavvio completo dell’host da sole — rendile persistenti con iptables-persistent o un servizio systemd; ufw-docker si occupa di questo per te.) Lo strumento standard della comunità per integrare UFW in DOCKER-USER è chaifeng/ufw-docker, che automatizza la generazione delle regole.
Installalo, poi verifica tramite una scansione delle porte dall’esterno del tuo VPS che le porte che pensi siano chiuse siano effettivamente chiuse.
Ho visto questo cogliere in fallo un ingegnere esperto due volte nella stessa settimana, prima su un computer personale, poi su quello di un cliente. UFW diceva una cosa, internet pubblico un’altra, e la verità era in iptables.
Per Portainer specificamente, la porta 9443 è pubblicata, il che significa che l’interfaccia amministrativa è accessibile da qualsiasi parte su internet pubblico non appena il container viene avviato. Due percorsi ragionevoli: limitare 9443 tramite regole DOCKER-USER (consenti solo il tuo IP di casa o ufficio), o proteggerla con un tunnel VPN come WireGuard in modo che l’interfaccia non abbia mai un IP pubblico.
Cosa Dovresti Bloccare Subito Dopo Il Primo Accesso?
Sei dentro. Cinque cose da fare prima di chiudere quella scheda del browser, secondo la guida alla sicurezza di Portainer:
- Forza Solo HTTPS. Portainer include HTTPS sulla porta 9443 di default, ma non lo impone. Attiva l’opzione nelle Impostazioni così l’interfaccia rifiuterà completamente HTTP.
- Sostituisci il certificato firmato automaticamente. Carica un certificato che hai generato, oppure usa Portainer con un reverse proxy NGINX che possiede un certificato Let’s Encrypt. Dopo il primo giorno, cliccare ogni volta sull’avviso del browser diventerà un’abitudine di cui ti pentirai.
- Utilizza un vero nome utente amministratore. “Admin” è il primo tentativo in qualsiasi attacco di riempimento delle credenziali. Scegli qualcosa di specifico per te.
- Limita l’UI a una VPN. WireGuard è il modello raccomandato da Portainer stesso. Un 9443 pubblico con credenziali forti va bene. Un 9443 raggiungibile solo su una rete privata è meglio.
- Verifica il binding del socket Docker. Qualsiasi cosa con accesso in lettura a
/var/run/docker.sockpuò eseguire qualsiasi cosa come root sul host. Non montare casualmente il socket in altri container. Ogni nuovo binding è un nuovo percorso verso l’host. Se un container afferma di aver bisogno del socket, chiedi perché — e considera un proxy del socket se la risposta è “per il monitoraggio”.
Come Utilizzi Effettivamente Portainer Nella Vita Quotidiana?
Il vantaggio dell’installazione di Portainer è il giorno in cui smetti di usare SSH per riavviare un container che non funziona bene, e inizi a cliccare su un pulsante. Il vantaggio maggiore è la gestione dello stack.
Uno stack di Portainer è un’app multi-container definita da un file Docker Compose. Tutto ciò che puoi esprimere come docker-compose.yml puoi distribuirlo come uno stack, con tre principali percorsi (esclusi i template personalizzati) secondo la documentazione ufficiale degli stack:
- Incolla Compose nell’interfaccia utente
- Carica un file Compose
- Imposta Portainer su un repository Git

Il percorso Git è quello che conta. Configuri Portainer su un repository pubblico o autenticato e un percorso per docker-compose.yml. Portainer o controlla il repository secondo una programmazione (il valore predefinito è cinque minuti) o attende un webhook da GitHub. Quando il file Compose cambia a monte, Portainer lo scarica e ridispiega automaticamente.
Questa è la versione self-hosted di “deploy on push” senza pagare un PaaS per il privilegio.
Anche le piccole vittorie quotidiane si accumulano. Pensa ai log in un pannello invece di docker logs -f, riavvii con un solo clic, ricostruzione di un stack da un pulsante e grafici delle risorse che puoi scansionare in tre secondi invece di eseguire Docker stats.
Portainer supporta anche host Docker remoti tramite il suo Edge Agent, che è il modo in cui un assistente IA auto-ospitato o un server multimediale si distribuisce su più dispositivi.
Quanto Costa Portainer? (E Quando Il Gratuito Smette Di Essere Gratuito?)
Portainer Community Edition è gratuito e illimitato, punto. L’installazione che hai appena completato è completamente funzionale per un host con tutti i contenitori che il tuo VPS può contenere. Nessun limite di nodi, nessuna scadenza, nessuna schermata di sollecitazione.
| Edizione | Costo | Nodi | Ideale per |
|---|---|---|---|
| Edizione Comunitaria | Gratuita, open-source | Illimitati | Progetti personali, homelab, utenti singoli con VPS |
| Edizione Business (Take 3) | Gratuita perpetua | Fino a 3 | Piccoli homelabs che desiderano RBAC e registri di controllo |
| Business Starter | Da $99/mese | 5, 10, o 15 | Piccoli team che gestiscono infrastrutture reali |
| Business Scale | Da $199/mese | Fino a 25 | Team in crescita che necessitano di supporto 9×5 |
| Impresa | Preventivo | Illimitati | Esigenze di conformità e supporto 24/7 |
Il livello gratuito perpetuo a tre nodi (chiamato Take 3) è importante da conoscere: rinnovi la licenza ogni anno senza costi fintanto che resti a tre nodi o meno.
Questo è il piano giusto per la maggior parte dei laboratori domestici e piccoli team che desiderano controllo degli accessi basato sui ruoli (RBAC), registri di audit e registrazione delle attività senza pagare. Oltre a questo, Business Starter costa $99/mensili sulla pagina dei prezzi aziendali di Portainer per 5/10/15 nodi; Scale costa $199/mensili fino a 25 nodi; e Enterprise è su preventivo.
Per quasi tutti coloro che leggono questo, la scelta migliore è l’Edizione Comunitaria. Sarà sufficiente per un self-host su un singolo VPS per tutta la durata della macchina. Le edizioni Business diventano vantaggiose solo quando si gestiscono conteggi reali di nodi, si necessita di RBAC su un team o si richiede supporto commerciale per la conformità.
Dovresti Aggiungere Portainer o Saltarlo?
Ecco la risposta onesta in due frasi:
✅ Se prevedi di condividere questo server, fare il deploy da Git, o eseguire più di tre container da qui a un anno, installa Portainer mentre l’host è nuovo e le tue abitudini si stanno ancora formando intorno ad esso.
❌ Se stai eseguendo una app tranquilla e ti trovi bene nel terminale, non ti mancherà l’interfaccia utente che non hai installato.
La vera domanda non è Portainer contro nessun Portainer. È se l’hosting autonomo è la scelta giusta per te — e hai risposto a questa domanda quando hai aperto questa scheda.
Un VPS da 4 GB, Docker e Portainer CE ti portano più lontano di quanto la maggior parte delle persone si aspetti: un stack di automazione, un server per foto, una piattaforma per newsletter e un assistente AI locale, tutto per meno di quanto probabilmente paghi per due servizi di streaming che guardi raramente.
Non è un brutto affare per una scatola di cui sei effettivamente proprietario.
Domande Frequenti Su Docker E Portainer
Per cosa si utilizza Portainer?
Portainer è utilizzato per gestire i container Docker, Docker Swarm e Kubernetes tramite un’interfaccia web. Funziona come un container Docker stesso, si collega al socket Docker dell’host e ti offre una vista e un controllo tramite browser su tutti gli altri container sull’host — avviando e fermando i container, distribuendo stack multi-container, visualizzando i log e gestendo l’accesso degli utenti senza bisogno di SSH.
Ho bisogno di Portainer se ho Docker?
No, non hai bisogno di Portainer per usare Docker. Docker funziona completamente dal terminale, e molti autogestori non installano mai una interfaccia utente sopra.
Portainer dimostra il suo valore quando devi gestire più di due o tre container, condividere l’accesso con qualcuno che non lavora in un terminale, o distribuire aggiornamenti di stack da un repository Git. Puoi evitare di usarlo se gestisci uno o due container stabili e ti trovi a tuo agio con Docker Compose.
Su quale porta funziona Portainer?
Portainer funziona sulla porta 9443 di default per l’accesso HTTPS all’interfaccia web, oltre alla porta 8000 per il tunnel dell’Edge Agent se in seguito connetti host Docker remoti. La porta 8000 è facoltativa in un’installazione su un singolo host; puoi rimuovere il flag -p 8000:8000 dal comando di installazione senza influenzare l’interfaccia locale. Le impostazioni predefinite provengono direttamente dal documento ufficiale di installazione Linux di Portainer.
Quanta RAM richiede Portainer?
Portainer di per sé rimane inattivo intorno ai 100 MB prima di caricare qualsiasi altra cosa. Aggiungi qualche centinaio di MB per il demone Docker, e poi dimensiona da lì in base a ciò che stai effettivamente eseguendo.
Da DreamHost, dimensioniamo il nostro VPS Autogestito a livello base con 4 GB di RAM proprio per questo tipo di carico di lavoro — abbastanza spazio per Portainer più un piccolo stack di contenitori di progetti secondari come Ghost, n8n, un database Postgres e un proxy inverso.
Portainer è gratuito?
Sì. L’edizione Community di Portainer è completamente gratuita, e l’edizione Business ha anche un livello gratuito perpetuo di 3 nodi chiamato Take 3, che si rinnova annualmente senza costi purché rimani con tre nodi o meno. Sopra i tre nodi, il prezzo Business inizia da $99/mese sul piano Starter secondo la pagina dei prezzi Business di Portainer.
Qual è la differenza tra Portainer CE e Business Edition?
Portainer Community Edition è gratuita, open-source e completamente equipaggiata per uso personale.
Edizione Business aggiunge controllo degli accessi basato sui ruoli, registri di audit, registrazione delle attività e supporto commerciale, e inizia da $99/mese per 5 nodi dopo il livello gratuito perpetuo di 3 nodi Take 3.
Può Portainer gestire più host Docker?
Sì, Portainer può gestire più host Docker tramite Edge Agents, che operano su ciascun host remoto e interpellano il server centrale di Portainer sulla porta dell’interfaccia utente, utilizzando la porta 8000 per aprire un tunnel sicuro di ritorno per i comandi di gestione. Per chi ospita su un singolo VPS, questo è eccessivo. Per chiunque gestisca tre o più unità che condividono un piano di controllo, ecco perché la 8000 è nella linea di installazione.
Docker elude UFW su un VPS?
Sì, Docker aggira UFW per impostazione predefinita perché Docker gestisce il traffico dei container a livello di NAT di iptables, che si trova davanti alle catene INPUT e OUTPUT di UFW.
Per la documentazione sul filtraggio dei pacchetti di Docker, “I pacchetti vengono deviati prima che raggiungano le catene INPUT e OUTPUT utilizzate da UFW.” La soluzione è la catena iptables DOCKER-USER, e lo strumento standard della comunità per integrare UFW in essa è chaifeng/ufw-docker.

Possiedi l’intero stack. App, IA, database e altro ancora.
Mantieni ogni credenziale e conversazione su un server che controlli tu, con velocità NVMe e banda illimitata integrate.
Esplora i piani VPS autogestito