forked from putro/presentazione-docker
small updates
This commit is contained in:
parent
3ab012778c
commit
c0ca16a5ae
|
@ -9,16 +9,32 @@ outputs = ["Reveal"]
|
|||
|
||||
## 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
|
||||
|
||||
## Immagini
|
||||
|
@ -27,9 +43,9 @@ outputs = ["Reveal"]
|
|||
|
||||
* 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
|
||||
|
||||
---
|
||||
|
@ -38,22 +54,26 @@ outputs = ["Reveal"]
|
|||
|
||||
* 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
|
||||
|
||||
* Ogni volta che aggiungo qualcosa a un'immagine si crea un nuovo layer aggiuntivo (e quindi una nuova immagine)
|
||||
|
||||
{{% /section %}}
|
||||
|
||||
|
||||
---
|
||||
|
||||
{{% section %}}
|
||||
|
||||
|
||||
# Concetti base
|
||||
|
||||
## Container
|
||||
|
||||
* 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
|
||||
|
||||
---
|
||||
|
@ -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
|
||||
in un container e il database sull'host
|
||||
|
||||
{{% /section %}}
|
||||
|
||||
---
|
||||
|
||||
# Componenti base
|
||||
|
@ -83,6 +105,8 @@ outputs = ["Reveal"]
|
|||
|
||||
---
|
||||
|
||||
{{% section %}}
|
||||
|
||||
# Docker client
|
||||
|
||||
* 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.
|
||||
|
||||
{{% /section %}}
|
||||
|
||||
---
|
||||
|
||||
## La persistenza dei dati
|
||||
|
@ -222,6 +248,9 @@ e' comunque possibile creare reti e assegnare indirizzi IP ai container
|
|||
|
||||
---
|
||||
|
||||
{{% section %}}
|
||||
|
||||
|
||||
## Dockerfile
|
||||
|
||||
* 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
|
||||
|
||||
{{% /section %}}
|
||||
|
||||
|
||||
---
|
||||
|
||||
{{% section %}}
|
||||
|
||||
|
||||
## docker-compose
|
||||
|
||||
* e' un software che permette di leggere un file di configurazione per avviare containers
|
||||
|
@ -306,6 +341,9 @@ services:
|
|||
|
||||
docker-compose up -d
|
||||
|
||||
{{% /section %}}
|
||||
|
||||
|
||||
---
|
||||
|
||||
## La pulizia
|
||||
|
|
Loading…
Reference in New Issue
Block a user