
La gestione dei container può diventare rapidamente complessa quando l’infrastruttura cresce o quando si desidera mantenere un controllo preciso sui servizi Docker in esecuzione.
Portainer nasce proprio con l’obiettivo di semplificare questo processo: un’interfaccia web intuitiva, potente e leggera che permette di amministrare Docker, Docker Swarm e Kubernetes senza dover ricorrere continuamente alla riga di comando.
In questa guida vedremo come installare e configurare Portainer su Ubuntu Server 24.04, l’ultima versione LTS del sistema operativo di Canonical.
Partiremo dalla preparazione dell’ambiente, passando per l’installazione tramite Docker, fino alle prime configurazioni essenziali per mettere in sicurezza e ottimizzare il pannello.
Al termine avrai un ambiente pronto per gestire i tuoi container in modo semplice, ordinato ed estremamente efficiente.
PREREQUISITI
Prima di installare Portainer verificare di avere fatto le seguenti cose:
Il server Ubuntu 24.04 è in esecuzione.
Un account utente con privilegi sudo.
Accesso a internet per scaricare Docker e Portainer.
AGGIORNAMENTO DEL SISTEMA
È importante assicurarsi che il sistema sia aggiornato.
Eseguire il seguente comando per aggiornare e aggiornare i tuoi pacchetti:
|
0 |
apt update && sudo apt upgrade -y
|
INSTALLAZIONE DI DOCKER
Portainer richiede l’installazione di Docker. Se non si ha Docker installato eseguire questi passaggi:
|
0 |
apt install apt-transport-https ca-certificates curl software-properties-common -y
|
Aggiungere la chiave GPG di Docker:
|
0 |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
Aggiungere il repository Docker con il comando:
|
0 |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
Installare Docker con i seguenti comandi:
|
0
1
|
apt update
apt install docker-ce docker-ce-cli containerd.io -y
|
Avviare e abilitare Docker con i seguenti comandi:
|
0
1
|
systemctl start docker
systemctl enable docker
|
Controllare lo stato di Docker con il comando:
|
0 |
systemctl status docker
|
Se è tutto OK dovremmo visualizzare simile al seguente:
|
0
1
2
3
4
5
6
7
8
9
10
|
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-12-02 09:44:38 CET; 32s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 14023 (dockerd)
Tasks: 14
Memory: 26.6M (peak: 27.9M)
CPU: 390ms
CGroup: /system.slice/docker.service
└─14023 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
|
INSTALLAZIONE DI PORTAINER
Una volta installato e in esecuzione Docker installare Portainer per gestire i tuoi container Docker.
Crea un volume Docker per Portainer con il comando:
|
0 |
docker volume create portainer_data
|
Scaricare e far girare il contenitore Portainer con il comando:
|
0 |
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:latest
|
Dovremmo visualizzare un output simile al seguente:
|
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Unable to find image 'portainer/portainer-ce:latest' locally
latest: Pulling from portainer/portainer-ce
b425a5923e60: Pull complete
04f56cab0724: Pull complete
9602c3f3fa3d: Pull complete
4f4fb700ef54: Pull complete
bcfc9a66ec82: Pull complete
0dc69d63cd77: Pull complete
0b2aaa6c7a76: Pull complete
f2e6bd2f8c64: Pull complete
2f56ab1022df: Download complete
96123003742e: Download complete
Digest: sha256:c2353b2bd0dbfaa33faa8895222732e8823a4cf5b57ea664ba631ec3e23d842b
Status: Downloaded newer image for portainer/portainer-ce:latest
82431e53ae1f06e938572acb44e573a27b39686bf0b49aff5b695bf93e4ec39e
|
ACCESSO A PORTAINER DA WEB GUI
Da un qualsiasi browser richiamare il seguente link:
https://IP-O-FQDN-SERVER:9443
Inserire la password per l’utente Admin quindi cliccare Create User
Selezionare Get Started per utilizzare l’ambiente locale dove Portainer è attivo
Cliccare sull’Environment
Dovremmo visualizzare la schermata per la gestione dell’Ambiente
A questo punto è possibile aggiungere Stacks e Container…
ELENCO DELLE FUNZIONALITA’
Interfaccia Web Intuitiva
Gestione completa di Docker e Kubernetes tramite un pannello web semplice e ordinato.
Pro
- Facilita l’amministrazione anche a utenti non esperti.
- Vista immediata dello stato di container, immagini, volumi e stack.
- Riduce il rischio di errori da terminale.
Contro
- Alcune funzionalità avanzate sono nascoste dietro vari menu.
- L’interfaccia non è sempre aggiornata alla pari delle ultime feature Docker/K8s.
Gestione Container
Creazione, avvio, stop, restart, duplicazione e modifica dei container tramite GUI.
Pro
- Operazioni immediate senza dover ricordare i comandi Docker.
- Log in tempo reale e console integrata.
- Possibilità di modificare ambient variables e mount.
Contro
- Non tutte le opzioni Docker avanzate sono disponibili da interfaccia.
- Il debug complesso richiede comunque il terminale.
Gestione Stacks (Docker Compose)
Supporto nativo ai file docker-compose.yml con deploy, aggiornamenti e rollback.
Pro
- Integrazione con repository Git (Gitea, GitHub, GitLab…).
- Deploy semplificato di applicazioni multi-container.
- Comodo per CI/CD di ambienti domestici e aziendali.
Contro
- Non supporta tutte le funzionalità delle versioni più recenti di Compose.
- Errori di deploy a volte poco dettagliati.
Gestione Immagini Docker
Pull, build, tag, push e cleanup delle immagini.
Pro
- Facilita la manutenzione del registry locale.
- Visualizzazione chiara delle dimensioni delle immagini.
Contro
- Funzionalità limitate rispetto a CLI (manca ad esempio build multipiattaforma).
- Build da interfaccia più lenta rispetto alla CLI.
Gestione Volumi e Networks
Creazione, modifica e rimozione di volumi e reti Docker.
Pro
- Permette operazioni sensibili in modo visuale.
- Utile per capire rapidamente come i container sono collegati.
Contro
- Personalizzazioni avanzate delle reti non sempre disponibili.
- Alcune modifiche richiedono comunque la ricreazione dei container.
Supporto a Kubernetes
Gestione base dei cluster Kubernetes.
Pro
- Ottimo per chi vuole visualizzare risorse K8s senza imparare subito kubectl.
- Dashboard più semplice rispetto a quella standard.
Contro
- Funzionalità molto limitate rispetto ai reali strumenti Kubernetes.
- Non adatto ad ambienti enterprise complessi.
Gestione Utenti e Ruoli (RBAC)
Creazione di utenti, ruoli, permessi e accessi granulari.
Pro
- Fondamentale in ambienti multiutente o aziendali.
- Integra autenticazioni esterne (LDAP, OAuth nella versione Business).
Contro
- Alcune funzioni RBAC avanzate sono disponibili solo nella versione Business.
- Configurazione iniziale non immediata.
Supporto Docker Standalone e Swarm
Può gestire sia Docker singolo che cluster Swarm.
Pro
- Comodo per chi utilizza Swarm come orchestratore.
- Permette la gestione remota tramite agent.
Contro
- Il mondo Docker Swarm è meno supportato a livello globale rispetto a Kubernetes.
- Le funzioni cluster sono limitate.
Template e Stack Preconfigurati
Disponibilità di template per deploy rapidi (portainer agent, apps utili).
Pro
- Riduce drasticamente il tempo di deploy delle app comuni.
- Utile per principianti.
Contro
- Template limitati e non aggiornati frequentemente.
- Non presenti per applicazioni complesse.
🎯 Riassunto Pro e Contro di Portainer
⭐ Pro
- Facilissimo da usare
- Gestione Docker e Kubernetes tramite GUI
- Ottimo per server domestici e piccoli team
- Supporto a Git per i deploy automatizzati
- Riduce gli errori rispetto alla riga di comando
- Funzionalità di audit e gestione utenti (RBAC)
❗ Contro
- Alcune funzioni avanzate Docker/K8s non disponibili da GUI
- Log di errore non sempre dettagliati
- Kubernetes supportato solo parzialmente
- Alcune funzioni sono disponibili solo nella versione Business


0 commenti