afinal, o que é docker? (webinar umbler)
TRANSCRIPT
WHO AM I?
WELLINGTON F. SILVA
▸ AKA: wsilva | boina | tom | fisi
▸ Pai
▸ Técnico Telecom
▸ Programador
▸ Instrutor
▸ DevOps
▸ Escritor
AGENDA
▸ Virtualização
▸ Virtual Machine x Contêineres
▸ Histórico
▸ Container from scratch
▸ Evolução
▸ Arquitetura
▸ OSX x Windows x Linux
▸ Imagens
▸ Adoção do Docker
O QUE É O DOCKER?
TIPOS DE VIRTUALIZAÇÃO
▸ Full Virtualization
▸ Partial Virtualization
▸ Paravirtualization
O QUE É O DOCKER?
TIPOS DE VIRTUALIZAÇÃO
▸ Full Virtualization
▸ Partial Virtualization
▸ Paravirtualization
▸ OS Level Virtualization
O QUE É O DOCKER?
TIPOS DE VIRTUALIZAÇÃO
▸ Full Virtualization
▸ Partial Virtualization
▸ Paravirtualization
▸ OS Level Virtualization <= DOCKER
SERVIDORSERVIDOR
HOST OSHOST OS
CONTAINER ENGINEHYPERVISOR
BINS/LIBSGUEST OS BINS/LIBSGUEST OS
BINS/LIBS BINS/LIBS APP APP
APP APP
VM VM
Container Container
VMs x Contêineres
SERVIDORSERVIDOR
DEBIAN LINUXDEBIAN LINUX
DOCKERVIRTUALBOX
BINS/LIBSCENTOS LINUX BINS/LIBSUBUNTU LINUX
BINS/LIBS BINS/LIBS NGINX MYSQL
NGINX MYSQL
VM VM
Container Container
VMs x Contêineres
HISTÓRICO
HISTÓRIA
▸ 21/03/2013 1ª Demo
▸ Opensource(Apache License 2.0)
▸ Base para dotCloud
▸ 23/07/2013 - Ben Golub, CEO da Gluster e da Plaxo se une ao time
HISTÓRICO
HISTÓRIA
▸ 21/03/2013 1ª Demo
▸ Opensource(Apache License 2.0)
▸ Base para dotCloud
▸ 23/07/2013 - Ben Golub, CEO da Gluster e da Plaxo se une ao time
▸ 22/01/2014 2º aporte de US$ 15 mi
HISTÓRICO
HISTÓRIA
▸ 23/07/2014 Compra da Orchard (FIG)
▸ 16/09/2014 3º aporte US$ 40 mi
▸ 15/10/2014 Microsoft anuncia Docker no Windows 2016 sever
HISTÓRICO
HISTÓRIA
▸ 23/07/2014 Compra da Orchard (FIG)
▸ 16/09/2014 3º aporte US$ 40 mi
▸ 15/10/2014 Microsoft anuncia Docker no Windows 2016 sever
▸ 14/04/2015 4º aporte US$ 95 mi
HISTÓRICO
HISTÓRIA
▸ 23/07/2014 Compra da Orchard (FIG)
▸ 16/09/2014 3º aporte US$ 40 mi
▸ 15/10/2014 Microsoft anuncia Docker no Windows 2016 sever
▸ 14/04/2015 4º aporte US$ 95 mi
▸ 22/06/2015 Open Container Initiative
COMO FUNCIONA?
KERNEL NAMESPACES
▸ IPC - interprocess communication
▸ PID - Processos
▸ NET- rede
▸ UTS - Unix timesharing system, recursos do kernel
COMO FUNCIONA?
KERNEL NAMESPACES
▸ IPC - interprocess communication
▸ PID - Processos
▸ NET- rede
▸ UTS - Unix timesharing system, recursos do kernel
▸ USER - usuários
COMO FUNCIONA?
KERNEL NAMESPACES
▸ IPC - interprocess communication
▸ PID - Processos
▸ NET- rede
▸ UTS - Unix timesharing system, recursos do kernel
▸ USER - usuários
▸ MNT - filesystem e pontos de montagem
COMO FUNCIONA?
CGROUPS
▸ CPU
▸ Memória
▸ I/O em disco
▸ Interface de rede
▸ Hardwares periféricos (pen drive, camera, etc)
DOCKER HOST
Imagens
DAEMON
Volumes
Containers
KITEMATIC
DOCKER CLIENT
DOCKER PULL DOCKER PUSH DOCKER BUILD DOCKER RUN DOCKER PS
DOCKER IMAGES
DOCKER REGISTRY (HUB)
HTTPCURL WGET
CONTÊINERES LINUX
LINUX (DOCKER HOST)WINDOWSOSX
VM LINUX (DOCKER HOST)
DOCKER CLIENTDOCKER CLIENT
VM LINUX (DOCKER HOST)
DOCKER CLIENT
DOCKER DAEMONDOCKER DAEMONDOCKER DAEMON
CONTÊINERES WINDOWS
WINDOWS (DOCKER HOST) LINUXOSX
VM WINDOWS (DOCKER HOST)
DOCKER CLIENTDOCKER CLIENT DOCKER CLIENT
DOCKER DAEMON DOCKER DAEMONDOCKER DAEMON
VM WINDOWS (DOCKER HOST)
CREATE
STOPPED RUNNING
PAUSED
CREATE
DESTROY
DELETED
START
docker run
docker create
dockerstart
docker rm
RESTART
docker kill
docker stopKILL
DIE
DIE
STOP
DIE
START
RESTART
PAUSE
UNPAUSE
DIE
OOM
docker pause
dockerrestart
docker unpause
exit
killedyesno