immagini e registry

This commit is contained in:
dado
2025-07-15 21:14:37 +02:00
parent a2ac9b25cf
commit 075737e4cf
6 changed files with 23 additions and 1 deletions

View File

@@ -16,6 +16,8 @@ A differenza delle VM, i container non eseguono un sistema operativo completo. N
Rispetto alle VM, i container offrono prestazioni superiori e una maggiore flessibilità. È possibile modificare le risorse allocate a un container durante la sua esecuzione, senza necessità di spegnere il container stesso, evitando così downtime. Al contrario, le VM, simili a hardware reale, richiedono un riavvio per apportare modifiche alle risorse allocate.
Tuttavia, i container presentano anche delle *limitazioni, in particolare riguardo all'isolamento*. Sebbene offrano un certo livello di separazione, l'isolamento dei container è più debole rispetto a quello delle VM, poiché avviene solo a livello di processo e non di risorse. I container sono, infatti, processi in esecuzione sul sistema host e, a differenza delle applicazioni tradizionali, hanno accesso limitato alle risorse.
Tuttavia, i container presentano anche delle *limitazioni, in particolare riguardo all'isolamento*. Sebbene offrano un certo livello di separazione, l'isolamento dei container è più debole rispetto a quello delle VM, poiché avviene solo a livello di processo e non di risorse. I container sono, infatti, *processi in esecuzione* sul sistema host e, a differenza delle applicazioni tradizionali, hanno accesso limitato alle risorse.
Un programma in esecuzione all'interno di un container è quindi *isolato* nel senso che può accedere esclusivamente alle risorse specificamente assegnate a quel container.
![container-vm](asset/img/container-vm.png)

11
docker/002-immagini.md Normal file
View File

@@ -0,0 +1,11 @@
# Immagini
L'immagine può essere vista come l'eseguibile che avvia un container. A partire da un'immagine, è possibile creare molteplici container, che rappresentano *istanze* di quell'immagine. In altri termini, l'immagine si comporta come una specie di *archivio*, contenente l'applicativo da eseguire, insieme a tutte le sue dipendenze, librerie e altri asset necessari.
![apache-img](asset/img/apache-img.png)
Ogni strato, o `layer`, dell'immagine introduce nuove funzionalità o modifiche. La separazione delle aggiunte su layer distinti consente di condividere i layer comuni tra diverse immagini, evitando la duplicazione dei dati e ottimizzando l'uso dello spazio su disco.
![layer](asset/img/layer.png)
La definizione dell'immagine avviene tramite i `Dockerfile`, che specificano le istruzioni necessarie per costruire l'immagine.

9
docker/003-registry.md Normal file
View File

@@ -0,0 +1,9 @@
# Registry
Un registry può essere paragonato a un elenco telefonico, in quanto contiene gli indirizzi di tutti i repository disponibili. I repository, a loro volta, ospitano tutte le versioni di un determinato software.
![registry](asset/img/registry.png)
Il registry più popolare e ampiamente utilizzato è [Docker Hub](https://hub.docker.com/).
È fondamentale sottolineare che tutte le immagini presenti nei repository dei vari registry seguono lo stesso standard, l'`OCI` (*Open Container Initiative*). Questo standard garantisce che qualsiasi immagine scaricata da questi registry sia completamente compatibile con Docker, Podman o qualsiasi altro container engine che rispetti questa specifica.

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

BIN
docker/asset/img/layer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB