Quale è il mio sistema operativo per l'host Docker container?


Informatica / martedì, Agosto 24th, 2021

Boh! No seriamente, ho cercato un bel po' pensando di trovare distro linux progettate per fare da host a Docker Container, ma non ho trovato nulla. Da quel che ho intuito, vale la regola base dell'informatica.

Dipende da ciò che devi farci

Quindi sono partito da una distribuzione che conosco, che è stabile, piena di driver per i più disperati dispositivi caserecci, supportato e pieno di tutorial. Ubuntu Server 20.04.3 LTS (Focal Fossa) .

Prima installazione Ubuntu

L'installazione di Ubuntu Server è molto semplice. Canonical ci fornisce un tutorial pronto per fare la nostra chiavetta usb grazie a Rufus.

Senza ripere il valido tutorial, il riassunto è questo:

Scarica l'iso di Ubuntu Server dal sito ufficiale

Scarica Rufus

Da Rufus:

Ora scegli la selezione di avvio. Le scelte saranno Non avviabile e FreeDOS . Poiché stai creando un dispositivo Ubuntu avviabile, seleziona FreeDOS .

Le selezioni predefinite per Schema partizione ( MBR ) e Sistema di destinazione ( BIOS (o UEFI-CSM) ) sono appropriate (e sono le uniche opzioni disponibili).

Accetta tutte le opzioni predefinite ed avvia da chiavetta per procedere all'installazione.

Per avviare da chiavetta usb, di norma all'avvio, bisogna continuare a premere F12, mentre per i pc HP F9 , successivamente comparirà il menù di selezione.

Durante tutto il processo di installazione le scelte sono molto basiche tranne una, quella delle partizioni.

Personalmente ho scelto l'uso di Guided - use entire disk and set up LVM.

Vantaggi dell’uso di LVM:
I vantaggi di utilizzare LVM rispetto un partizionamento classico sono numerosi:

  • Capacità totale espandibile senza spostamento dei dati
  • Allocazione dinamica dello spazio senza riformattazione, inclusa l’aggiunta, rimozione e sostituzione dei dischi
  • Associazione di nomi a un gruppo di dispositivi, senza preoccuparsi di quali partizioni vengano usate per fornire un gruppo di volumi
  • Ripartizione (striping) dei dati su più dischi
  • Clonazione (mirroring) dei volumi
  • Creazione di istantanee (snapshot) di un volume logico per avere delle copie dei dati uguali al momento dell’istantanea

Anche se con l'occasione, vorrei sperimentare ZFS.

ZFS ha molti vantaggi, descritti in questo articolo , ma ha rischi importanti se usato su dispositivi con ram non ECC, in pratica, se si danneggia la Ram, rischi di perdere l'intero pool di dati. Ma io sono un temerario e punto tutto sui backup, quindi presto o tardi lo proverò!

Post installazione Ubuntu Server

Una volta installato tutto, va aggiornato il sistema operativo e pacchetti vari con il comando.

sudo apt update; sudo upgrade -y; sudo reboot now

Io di norma, non uso monitor, quindi do per scontato di collegarmi in ssh usando MobaXterm Free.

MobaXTerm è molto comodo perché tra le tante funzioni, al primo login associa la chiave di sicurezza tra host e client cosi da non dover digitare la password ogni volta. In più apprezzo la funzione di monitoraggio del server ed il file manager integrato.

Gestione da Android

Per la gestione da Android su smartphone e tablet, mi affido sempre all'app Juice SSH .

Un app gratuita semplice ed affidabile. Salva le identita, i vari server, associa le chiavi crittografiche ed ad un bel plugin aggiuntivo , Performance monitor , per trasformare lo smartphone in un monitor di risorse, utile per testare in tempo reale l'uso del server.

Struttura delle cartelle del server linux

La struttura della cartelle è ovviamente dettata dalle esigenze, la mia è un server personale dove solo io accederò, quindi per comodità terrò tutto nella mia home.

/home/enrico/dati : conterrà tutti i miei dati. Riunire tutti in un unico posto da molti vantaggi: permessi semplici da gestire, backup facili e nessun bisogno di cercare dati sparsi in giro.

/home/enrico/bin/ : conterrà gli script di gestione del server

/home/enrico/docker/compose/ : conterrà diviso per cartelle, il file docker-compose.yml di ogni docker che installerò. Un modo pratico per reinstallare ed installare i vari software. Voglio che il server sia al 99% Docker.

/home/enrico/docker/ : conterrà tutti i volumi mappati di tutti i docker. In pratica se perdo un docker, potrò reinstallarlo senza nessun problema, trovando configurazioni e file al di fuori di docker e sempre nello stesso posto. Quando arriverà il nuovo hard disk, li sposterò tutti su un disco sata molto capiente.

Manca ovviamente il cuore di Project Ryuko, Docker!

Installiamo docker su ubuntu server semplicemente con lo script rapido.

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

Tutto pronto, il prossimo passo sono i vari software.

Ci vediamo al prossimo capitolo.