Novità
Icona risorsa

Guida Verificata Installare Docker e Portainer su Linux

Una guida verificata è stata controllata dallo staff punto per punto e se ne attesta la sua validità.

Introduzione​

In questa guida, vediamo come installare Docker e Portainer nel modo più semplice possibile, riuscendo ad ottenere anche un discreto livello di sicurezza nel caso si installasse su una VPS con ip pubblico.
Il sistema operativo di riferimento sarà Debian 12, ma naturalmente la guida può essere seguita anche su OS non debian-based con i dovuti accorgimenti e modifiche ai comandi comuni.

Tralasciamo volutamente la "spiegazione" di cosa sia docker, per non allungare troppo la guida. Velocemente, ricordiamoci che le componenti fondamentali sono:

  • Docker Engine: Ovvero il responsabile dell'esecuzione e gestione dei container Docker sul nostro sistema operativo (host). Di base fornisce un'interfaccia a riga di comando (CLI) per poter gestire, o più in generale "interagire" con i Container.
  • Docker Images: Sono i templates che definiscono il contenuto e configurazione di un container. Le immagini contengono tutti gli elementi e i set di istruzioni necessarie per avviare l'applicazione "containerizzata". Più container possono utilizzare la stessa immagine per essere avviati. Le immagini possono essere prelevate da canali ufficiali o create per essere poi condivise sui vari canali.
  • Docker Registry: Ovvero un repository pubblico utilizzato per archiviare e condividere le immagini. Docker Hub è il registro predefinito "ufficiale" da cui prelevare le immagini, ma possono essere utilizzati anche registri privati.
  • Docker Compose: Si tratta di un tool ufficiale che aiuta nella configurazione e gestione dei propri contenitori. Normalmente il tutto viene gestito tramite i comandi Docker CLI. Compose ci permette invece di utilizzare un singolo file YAML per configurare i container e le eventuali relazioni fra essi.
Quel che faremo sarà installare Portainer, ovvero un'interfaccia web-based che semplifica enormemente la gestione dei nostri container, sia tramite CLI che tramite Compose.

Installazione​

Se state installando Docker su una VPS accessibile pubblicamente, consigliamo intanto una lettura della guida

Prima di procedere, come sempre, assicuriamoci che il nostro sistema sia aggiornato
Bash:
Accedi o Registrati per vedere questo contenuto.

Su Debian 12, installiamo intanto i pacchetti richiesti
Bash:
Accedi o Registrati per vedere questo contenuto.
Importiamo le chiavi GPG per le repository Docker
Bash:
Accedi o Registrati per vedere questo contenuto.
e aggiungiamo la repository ufficiale
Bash:
Accedi o Registrati per vedere questo contenuto.

Procediamo ora con l'installazione
Bash:
Accedi o Registrati per vedere questo contenuto.

Aggiungiamo ora il nostro utente attivo al gruppo Docker, in modo da poter eseguire i comandi senza il "sudo"
Bash:
Accedi o Registrati per vedere questo contenuto.

Assicuriamoci poi che il servizio Docker sia stato avviato
Bash:
Accedi o Registrati per vedere questo contenuto.
Possiamo controllare lo stato con
Bash:
Accedi o Registrati per vedere questo contenuto.
Che ci restituirà qualcosa di simile
1.png


A questo punto, docker è installato e funzionante, possiamo già usarlo per creare i nostri container con i comandi CLI. Ma noi vogliamo gestire il tutto in modo ottimale, magari con qualche aiuto grafico! Quindi procediamo nell'installazione del nostro primo container, ovvero Portainer!

Ogni container, se arrestato, perderà tutte le modifiche fatte e al prossimo avvio ripartirà secondo le istruzioni iniziali (o dell'immagine iniziale). Per ovviare a questo problema, è possibile creare un "volume permanente" sul nostro sistema host che verrà usato dal container, in modo virtualizzato.

Per installare Portainer creiamo prima un volume digitando
Bash:
Accedi o Registrati per vedere questo contenuto.

Adesso creiamo il container per Portainer
Bash:
Accedi o Registrati per vedere questo contenuto.

Questo comando CLI scaricherà l'ultima immagine disponibile di Portainer, i dati locali verranno salvati nel volume creato sopra e esporrà le porte predefinite di portainer, ovvero la 9443 e la 8000. Quest'ultima (8000) è un tunnel server TCP ed è opzionale, necessaria solo se intendiamo usare l'Edge agent.

ATTENZIONE: La porta 9443 verrà esposta pubblicamente, quindi se stiamo installando Portainer su una VPS assicuriamoci di bloccarla con un firewall, ci accederemo poi tramite tunnel ssh (spiegazione di seguito). Se invece non vogliamo rendere la porta accessibile, basta modificare leggermente il comando sopra, sostituendo -p 9443:9443 con -p 127.0.0.1:9443:9443, in questo modo possiamo ugualmente accedere alla porta tramite tunnel ssh e la porta sarà disponibile solo in localhost.

Ora, navigando su
Accedi o Registrati per vedere questo link.
dovremmo vedere la schermata iniziale di portainer, che ci chiederà di creare un nuovo utente amministratore, ma la vediamo fra poco.

Accedere a Portainer installato su una VPS​

Nel caso in cui abbiamo installato portainer su una VPS, come indicato sopra, abbiamo bloccato tramite firewall la porta 9443. Ma ora come facciamo ad accedere a questa porta dal nostro pc di casa?

Semplicemente sfruttando un tunnel ssh, ovvero accediamo alla nostra macchina in ssh e creiamo un tunnel per esporre la porta 9443 SOLO al nostro computer (finchè la sessione ssh rimane attiva).

Se usiamo un sistema unix, possiamo farlo direttamente tramite il normale comando ssh:
Bash:
Accedi o Registrati per vedere questo contenuto.

Ad esempio, se la nostra macchina ha IP 1.2.3.4:
Bash:
Accedi o Registrati per vedere questo contenuto.

navigando ora su
Accedi o Registrati per vedere questo link.
vedremo la schermata iniziale di Portainer

NOTA: Al primo avvio di Portainer, l'interfaccia web risponderà solo per 10 minuti, il tempo necessario per creare l'account amministratore. Quindi se da quando abbiamo avviato il container per Portainer a quando ci accediamo per la prima volta, sono passati 10 minuti, dovremmo riavviare il container per renderlo nuovamente disponibile. Possiamo farlo digitando:
Bash:
Accedi o Registrati per vedere questo contenuto.

Se invece siamo su sistema Windows, possiamo creare un tunnel tramite Putty
2.png


Sotto la schermata "Tunnels" dobbiamo indicare la porta sorgente (Source port) e l'indirizzo destinazione (Destination). Assicuriamoci di cliccare il tasto "Add" in modo da avere una schermata simile a questa
3.png


Possiamo ora procedere a collegarci normalmente in SSH alla nostra VPS e portainer sarà disponibile all'indirizzo indicato.

Appena creato l'account amministratore, possiamo usare Portainer per gestire tutti i nostri container e crearli (o rimuoverli) in modo decisamente semplificato.
4.png

5.png


Tramite la voce "Stack" possiamo avviare i comandi Compose, numerosi esempi sono disponibili nelle repository dei programmi noti, ad esempio per nginx (
Accedi o Registrati per vedere questo link.
) possiamo usare sotto la voce "Stack" quanto segue
YAML:
Accedi o Registrati per vedere questo contenuto.

O per Qbittorrent
YAML:
Accedi o Registrati per vedere questo contenuto.

Dove modifichiamo in base alle nostre esigenze i volumi, le porte e quant'altro.
Esempio simile discusso leggermente più nel dettaglio può essere trovato in fondo a questa guida:

Ultima nota: ricordiamoci che i container NON si aggiornano da soli, ma il più delle volte dovremmo scaricare l'immagine aggiornata e avviare nuovamente il container, con la sicurezza che i nostri file locali non verranno modificati grazie ai volumi permanenti. Ad esempio, per aggiornare Portainer, basterà usare i comandi
Bash:
Accedi o Registrati per vedere questo contenuto.
Per fermare il container, poi dobbiamo rimuoverlo, scaricare la nuova immagine e inviare nuovamente il comando CLI
Bash:
Accedi o Registrati per vedere questo contenuto.
Bash:
Accedi o Registrati per vedere questo contenuto.
Bash:
Accedi o Registrati per vedere questo contenuto.

Come possiamo intuire, verrà usato lo stesso volume portainer_data dell'installazione precedente, il risultato sarà l'aggiornamento dell'immagine.

Per il momento abbiamo terminato, giunti alla fine di questa breve guida, spero possa esservi d’aiuto :)
  • Like
Reazioni: Tibird59
Autore
Anyma
Visite
679
Primo rilascio
Ultimo aggiornamento
Valutazione
0.00 stella(e) 0 valutazioni

Più risorse di Anyma

Indietro
Alto