3. Containers
Chroots con esteroides
Son procesos aislados que corren con recursos
asignados
Comparten el kernel del host
Livianos a comparacion de hypervisor o emuladores
9. Docker Engine
Una plataforma abierta para aplicaciones distribuidas
para developers y sysadmins
Desarrollado inicialmente en Python y migrado a Go
Servidor (Linux) - Cliente (multiplataforma)
Open-source https://github.com/docker/docker
12. Docker syntax
$ docker <command> [params] <image>:[tag]
command: accion a ejecutar
params: para cambiar comportamiento
image: la plantilla a usar
tag: la version de la plantilla
21. Dockerfile
• Generar archivo Dockerfile con contenido:
FROM nginx:latest
MAINTAINER Mario Inga <mario21ic@gmail.com>
!
RUN echo 'Building from Dockerfile'
COPY html/index.html /usr/share/nginx/html/index.html
26. Docker Compose
Permite una facil orchestacion entre containers
Configuracion en un "docker-compose.yml"
Desarrollado en Python
Instalacion: pip install docker-compose
31. Docker Machine
Para la manipulacion de Docker hosts
Provee Docker hosts para: Digital Ocean, VirtualBox,
Azure, Amazon, Kvm, etc
Integración nativa con Docker Swarm
40. Docker Swarm
Conectarse a cada nodo:
$ eval "$(docker-machine env swarm-node-00)"
$ eval "$(docker-machine env swarm-node-01)"
Conectarse al master:
$ eval "$(docker-machine env --swarm swarm-master)"
41. Docker Swarm
Lanzar en cada nodo:
$ watch docker ps -a
En el master:
$ docker info
$ docker run alpine echo 'hello swarm 1'
$ docker run alpine echo 'hello swarm 2'
$ docker run alpine echo 'hello swarm 3'