2. Milano
Docker: cos'è
Piattaforma aperta per creare containers,
leggeri,portabili,autosufficienti,
che permettano l'esecuzione di un'applicazione
“virtualmente ovunque”
Milano – 2015 / 03 / 11
3. Milano
Docker: cos'è
leggeri: start time < 1 sec
portabili: linux kernel > 3.10
autosufficienti: dipendenze incluse
Milano Milano – 2015 / 03 / 11
4. Milano
Docker: peculiarità
Milano
Server
Host Os
bin/lib bin/lib
Server
Host Os
Hypervisor
Guest
OS
Guest
OS
Guest
OS
bin/lib bin/lib bin/lib
App A App A App B
-I containers,sono isolati tramite kernel ('lxc-
container')
-Condivisione librerie a livello di 'images'
-Soltanto il kernel viene condiviso tra host e
docker images
Milano – 2015 / 03 / 11
5. Milano
Docker: componenti fondamentali
Images: Read-Only Template
Registries: Pubblici e Privati
Containers: “Directory”
Dockerfile: Specifiche dell'applicazione
Milano – 2015 / 03 / 11
6. Milano
Docker: Dockerfile
FROM ubuntu:latest
MAINTAINER Will Weaver <monkey@buildingbananas.com>
RUN apt-get update -y
RUN apt-get upgrade -y
# Set up runtime user
RUN useradd -m tornado
# Install tornado
RUN apt-get install-y python-pip
RUN pip install tornado
# Set up tornado app
ADD./home/tornado/chat
# Set up runtime environment
USER tornado
WORKDIR /home/tornado/chat
EXPOSE 8888
CMD ["python","chatdemo.py"]
Milano – 2015 / 03 / 11
7. Milano
Docker: Workflow
Linux Host A
Docker Daemon
ContainerA
Linux Host B
DockerDaemon
ContainerB
ContainerA
ContainerA
PUSH
SEARCH
PULL / RUN
BUILD
Docker HUB
Source
Repo
Dockerfile
BUILD
Milano – 2015 / 03 / 11