immagini e registry
This commit is contained in:
@@ -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.
|
||||
|
||||

|
||||
|
11
docker/002-immagini.md
Normal file
11
docker/002-immagini.md
Normal 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.
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
La definizione dell'immagine avviene tramite i `Dockerfile`, che specificano le istruzioni necessarie per costruire l'immagine.
|
9
docker/003-registry.md
Normal file
9
docker/003-registry.md
Normal 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.
|
||||
|
||||

|
||||
|
||||
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.
|
BIN
docker/asset/img/apache-img.png
Normal file
BIN
docker/asset/img/apache-img.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 119 KiB |
BIN
docker/asset/img/layer.png
Normal file
BIN
docker/asset/img/layer.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 150 KiB |
BIN
docker/asset/img/registry.png
Normal file
BIN
docker/asset/img/registry.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 122 KiB |
Reference in New Issue
Block a user