small updates
This commit is contained in:
parent
3ab012778c
commit
c0ca16a5ae
|
@ -9,16 +9,32 @@ outputs = ["Reveal"]
|
||||||
|
|
||||||
## Cos'e':
|
## Cos'e':
|
||||||
|
|
||||||
* una piattaforma aperta per costruire, distribuire ed eseguire applicazioni all'interno di container
|
{{% fragment %}} * una piattaforma aperta per costruire, distribuire ed eseguire applicazioni all'interno di container {{% /fragment %}}
|
||||||
|
|
||||||
* esiste per linux/mac/windows
|
{{% fragment %}} * i container non sono macchine virtuali, ad es. condividono la RAM e il kernel col sistema che li ospita {{% /fragment %}}
|
||||||
|
|
||||||
* i container non sono macchine virtuali, ad es. condividono la RAM e il kernel col sistema che li ospita
|
{{% fragment %}} * sono pero' "isolati" dal sistema sottostante grazie a due funzioni del kernel: Control Groups (Cgroups) e Namespaces {{% /fragment %}}
|
||||||
|
|
||||||
* sono pero' "isolati" dal sistema sottostante grazie a due funzioni del kernel: Control Groups (Cgroups) e Namespaces
|
{{% fragment %}} * esiste per linux/mac/windows/cloud <br /> https://docs.docker.com/engine/install/ {{% /fragment %}}
|
||||||
|
|
||||||
|
{{% fragment %}} * c'e' una versione gratuita (CE) e una a pagamento (EE)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## A cosa serve:
|
||||||
|
|
||||||
|
* a provare un software senza "sporcare" il sistema
|
||||||
|
|
||||||
|
* a far girare un'applicazione in un ambiente piu' "protetto"
|
||||||
|
|
||||||
|
* a offrire portabilita' delle applicazioni (es. da sviluppo a produzione)
|
||||||
|
|
||||||
|
* a fare un sacco di cose in modo piu' veloce, piu' smart, piu' capitalismo insomma.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
{{% section %}}
|
||||||
|
|
||||||
# Concetti base
|
# Concetti base
|
||||||
|
|
||||||
## Immagini
|
## Immagini
|
||||||
|
@ -27,9 +43,9 @@ outputs = ["Reveal"]
|
||||||
|
|
||||||
* Esiste un Docker Hub, un repository di immagini gia' pronte
|
* Esiste un Docker Hub, un repository di immagini gia' pronte
|
||||||
|
|
||||||
* Si possono costruire facilmente immagini basandosi su immagini pre-esistenti (es. debian-mini) a cui posso aggiungere un singolo pacchetto
|
* Si possono costruire facilmente immagini basandosi su immagini pre-esistenti (es. debian-mini o alpine) a cui posso aggiungere un singolo pacchetto
|
||||||
|
|
||||||
* le immagini hanno delle tag associate, per cui ad es. possono esistere diverse "versioni" di una certa immagine, ad es. php:5 e php:7
|
* le immagini hanno delle tag associate, per cui possono esistere diverse "versioni" di una certa immagine, ad es. php:5 e php:7
|
||||||
o anche debian:stretch e debian:buster
|
o anche debian:stretch e debian:buster
|
||||||
|
|
||||||
---
|
---
|
||||||
|
@ -38,22 +54,26 @@ outputs = ["Reveal"]
|
||||||
|
|
||||||
* Un’immagine e' fatta di layer immutabili
|
* Un’immagine e' fatta di layer immutabili
|
||||||
|
|
||||||
* Due diverse immagini possono condividere un layer comune
|
* Due diverse immagini possono condividere dei layer comuni
|
||||||
|
|
||||||
* Sul disco sono salvati i singoli layer, quindi un layer in comune tra piu' immagini e' presente una volta sola
|
* Sul disco sono salvati i singoli layer, quindi un layer in comune tra piu' immagini e' presente una volta sola
|
||||||
|
|
||||||
* Ogni volta che aggiungo qualcosa a un'immagine si crea un nuovo layer aggiuntivo (e quindi una nuova immagine)
|
* Ogni volta che aggiungo qualcosa a un'immagine si crea un nuovo layer aggiuntivo (e quindi una nuova immagine)
|
||||||
|
|
||||||
|
{{% /section %}}
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
{{% section %}}
|
||||||
|
|
||||||
|
|
||||||
# Concetti base
|
# Concetti base
|
||||||
|
|
||||||
## Container
|
## Container
|
||||||
|
|
||||||
* Un container e' una "istanza" di un'immagine
|
* Un container e' una "istanza" di un'immagine
|
||||||
|
|
||||||
* In sostanza ai layer di una immagine viene aggiunto un ulteriore layer che pero' e' scrivibile
|
|
||||||
|
|
||||||
* Da un'immagine posso far partire piu' container indipendenti
|
* Da un'immagine posso far partire piu' container indipendenti
|
||||||
|
|
||||||
---
|
---
|
||||||
|
@ -69,6 +89,8 @@ outputs = ["Reveal"]
|
||||||
* I container possono comunicare allo stesso modo anche con l'host, per cui ad esempio potrei avere il webserver
|
* I container possono comunicare allo stesso modo anche con l'host, per cui ad esempio potrei avere il webserver
|
||||||
in un container e il database sull'host
|
in un container e il database sull'host
|
||||||
|
|
||||||
|
{{% /section %}}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Componenti base
|
# Componenti base
|
||||||
|
@ -83,6 +105,8 @@ outputs = ["Reveal"]
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
{{% section %}}
|
||||||
|
|
||||||
# Docker client
|
# Docker client
|
||||||
|
|
||||||
* il client e' l'interfaccia (testuale) per fare tutto, dalla costruzione delle immagini all'esecuzione dei containers.
|
* il client e' l'interfaccia (testuale) per fare tutto, dalla costruzione delle immagini all'esecuzione dei containers.
|
||||||
|
@ -193,6 +217,8 @@ Se e' necessario eseguire piu' processi dentro un container bisogna usare qualco
|
||||||
|
|
||||||
* in questo modo ci si ritrova in una shell sh **dentro** il container mysql in esecuzione.
|
* in questo modo ci si ritrova in una shell sh **dentro** il container mysql in esecuzione.
|
||||||
|
|
||||||
|
{{% /section %}}
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## La persistenza dei dati
|
## La persistenza dei dati
|
||||||
|
@ -222,6 +248,9 @@ e' comunque possibile creare reti e assegnare indirizzi IP ai container
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
{{% section %}}
|
||||||
|
|
||||||
|
|
||||||
## Dockerfile
|
## Dockerfile
|
||||||
|
|
||||||
* e' un file "ricetta" per creare una nuova immagine (con docker build)
|
* e' un file "ricetta" per creare una nuova immagine (con docker build)
|
||||||
|
@ -254,8 +283,14 @@ EXPOSE 80
|
||||||
|
|
||||||
docker run -d -p 80:80 --name webserver myimage
|
docker run -d -p 80:80 --name webserver myimage
|
||||||
|
|
||||||
|
{{% /section %}}
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
{{% section %}}
|
||||||
|
|
||||||
|
|
||||||
## docker-compose
|
## docker-compose
|
||||||
|
|
||||||
* e' un software che permette di leggere un file di configurazione per avviare containers
|
* e' un software che permette di leggere un file di configurazione per avviare containers
|
||||||
|
@ -306,6 +341,9 @@ services:
|
||||||
|
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
|
|
||||||
|
{{% /section %}}
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## La pulizia
|
## La pulizia
|
||||||
|
|
Loading…
Reference in New Issue
Block a user