Top Banner
AFINAL, O QUE É DOCKER? WEBINAR
71

Afinal, o que é Docker? (Webinar Umbler)

Feb 15, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Afinal, o que é Docker? (Webinar Umbler)

AFINAL, O QUE É DOCKER?WEBINAR

Page 2: Afinal, o que é Docker? (Webinar Umbler)

WHO AM I?

WELLINGTON F. SILVA

▸ AKA: wsilva | boina | tom | fisi

▸ Pai

▸ Técnico Telecom

▸ Programador

▸ Instrutor

▸ DevOps

▸ Escritor

Page 3: Afinal, o que é Docker? (Webinar Umbler)

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

Page 4: Afinal, o que é Docker? (Webinar Umbler)

O QUE É DOCKER?

Page 5: Afinal, o que é Docker? (Webinar Umbler)
Page 6: Afinal, o que é Docker? (Webinar Umbler)
Page 7: Afinal, o que é Docker? (Webinar Umbler)

FERRAMENTA PARA VIRTUALIZAÇÃO NO NÍVEL DO SISTEMAS OPERACIONAL

by wsilva

O QUE É O DOCKER?

Page 8: Afinal, o que é Docker? (Webinar Umbler)

TIPOS DE VIRTUALIZAÇÃO

Page 9: Afinal, o que é Docker? (Webinar Umbler)

O QUE É O DOCKER?

TIPOS DE VIRTUALIZAÇÃO

▸ Full Virtualization

Page 10: Afinal, o que é Docker? (Webinar Umbler)

O QUE É O DOCKER?

TIPOS DE VIRTUALIZAÇÃO

▸ Full Virtualization

▸ Partial Virtualization

Page 11: Afinal, o que é Docker? (Webinar Umbler)

O QUE É O DOCKER?

TIPOS DE VIRTUALIZAÇÃO

▸ Full Virtualization

▸ Partial Virtualization

▸ Paravirtualization

Page 12: Afinal, o que é Docker? (Webinar Umbler)

O QUE É O DOCKER?

TIPOS DE VIRTUALIZAÇÃO

▸ Full Virtualization

▸ Partial Virtualization

▸ Paravirtualization

▸ OS Level Virtualization

Page 13: Afinal, o que é Docker? (Webinar Umbler)

O QUE É O DOCKER?

TIPOS DE VIRTUALIZAÇÃO

▸ Full Virtualization

▸ Partial Virtualization

▸ Paravirtualization

▸ OS Level Virtualization <= DOCKER

Page 14: Afinal, o que é Docker? (Webinar Umbler)
Page 15: Afinal, o que é Docker? (Webinar Umbler)

VMS X CONTÊINERES

Page 16: Afinal, o que é Docker? (Webinar Umbler)

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

Page 17: Afinal, o que é Docker? (Webinar Umbler)

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

Page 18: Afinal, o que é Docker? (Webinar Umbler)

HISTÓRICO

Page 19: Afinal, o que é Docker? (Webinar Umbler)

HISTÓRICO

HISTÓRIA

▸ 21/03/2013 1ª Demo

Page 20: Afinal, o que é Docker? (Webinar Umbler)

HISTÓRICO

HISTÓRIA

▸ 21/03/2013 1ª Demo

▸ Opensource(Apache License 2.0)

Page 21: Afinal, o que é Docker? (Webinar Umbler)

HISTÓRICO

HISTÓRIA

▸ 21/03/2013 1ª Demo

▸ Opensource(Apache License 2.0)

▸ Base para dotCloud

Page 22: Afinal, o que é Docker? (Webinar Umbler)

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

Page 23: Afinal, o que é Docker? (Webinar Umbler)

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

Page 24: Afinal, o que é Docker? (Webinar Umbler)

HISTÓRICO

HISTÓRIA

▸ 23/07/2014 Compra da Orchard (FIG)

Page 25: Afinal, o que é Docker? (Webinar Umbler)

HISTÓRICO

HISTÓRIA

▸ 23/07/2014 Compra da Orchard (FIG)

▸ 16/09/2014 3º aporte US$ 40 mi

Page 26: Afinal, o que é Docker? (Webinar Umbler)

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

Page 27: Afinal, o que é Docker? (Webinar Umbler)

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

Page 28: Afinal, o que é Docker? (Webinar Umbler)

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

Page 29: Afinal, o que é Docker? (Webinar Umbler)

COMO FUNCIONA?

Page 30: Afinal, o que é Docker? (Webinar Umbler)

PROCESSOS +

KERNEL NAMESPACES +

CGROUPS

Page 31: Afinal, o que é Docker? (Webinar Umbler)

PROCESSOS PID=1

Page 32: Afinal, o que é Docker? (Webinar Umbler)

KERNEL NAMESPACES (O QUE O PROCESSO PODE VER)

Page 33: Afinal, o que é Docker? (Webinar Umbler)

COMO FUNCIONA?

KERNEL NAMESPACES

▸ IPC - interprocess communication

Page 34: Afinal, o que é Docker? (Webinar Umbler)

COMO FUNCIONA?

KERNEL NAMESPACES

▸ IPC - interprocess communication

▸ PID - Processos

Page 35: Afinal, o que é Docker? (Webinar Umbler)

COMO FUNCIONA?

KERNEL NAMESPACES

▸ IPC - interprocess communication

▸ PID - Processos

▸ NET- rede

Page 36: Afinal, o que é Docker? (Webinar Umbler)

COMO FUNCIONA?

KERNEL NAMESPACES

▸ IPC - interprocess communication

▸ PID - Processos

▸ NET- rede

▸ UTS - Unix timesharing system, recursos do kernel

Page 37: Afinal, o que é Docker? (Webinar Umbler)

COMO FUNCIONA?

KERNEL NAMESPACES

▸ IPC - interprocess communication

▸ PID - Processos

▸ NET- rede

▸ UTS - Unix timesharing system, recursos do kernel

▸ USER - usuários

Page 38: Afinal, o que é Docker? (Webinar Umbler)

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

Page 39: Afinal, o que é Docker? (Webinar Umbler)

CGROUPS (O QUE O PROCESSO PODE USAR)

Page 40: Afinal, o que é Docker? (Webinar Umbler)

COMO FUNCIONA?

CGROUPS

▸ CPU

Page 41: Afinal, o que é Docker? (Webinar Umbler)

COMO FUNCIONA?

CGROUPS

▸ CPU

▸ Memória

Page 42: Afinal, o que é Docker? (Webinar Umbler)

COMO FUNCIONA?

CGROUPS

▸ CPU

▸ Memória

▸ I/O em disco

Page 43: Afinal, o que é Docker? (Webinar Umbler)

COMO FUNCIONA?

CGROUPS

▸ CPU

▸ Memória

▸ I/O em disco

▸ Interface de rede

Page 44: Afinal, o que é Docker? (Webinar Umbler)

COMO FUNCIONA?

CGROUPS

▸ CPU

▸ Memória

▸ I/O em disco

▸ Interface de rede

▸ Hardwares periféricos (pen drive, camera, etc)

Page 45: Afinal, o que é Docker? (Webinar Umbler)

DEMO

Page 46: Afinal, o que é Docker? (Webinar Umbler)

https://github.com/wsilva/container-from-scratch-demo

Page 47: Afinal, o que é Docker? (Webinar Umbler)

EVOLUÇÃO

Page 48: Afinal, o que é Docker? (Webinar Umbler)

EVOLUÇÃO

EVOLUÇÃO

▸ Libvirt / LXC

Page 49: Afinal, o que é Docker? (Webinar Umbler)

EVOLUÇÃO

EVOLUÇÃO

▸ Libvirt / LXC

▸ Libcontainer

Page 50: Afinal, o que é Docker? (Webinar Umbler)

EVOLUÇÃO

EVOLUÇÃO

▸ Libvirt / LXC

▸ Libcontainer

▸ runC

Page 51: Afinal, o que é Docker? (Webinar Umbler)

EVOLUÇÃO

EVOLUÇÃO

▸ Libvirt / LXC

▸ Libcontainer

▸ runC

▸ ContainerD

Page 52: Afinal, o que é Docker? (Webinar Umbler)

ARQUITETURA

Page 53: Afinal, o que é Docker? (Webinar Umbler)

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

Page 54: Afinal, o que é Docker? (Webinar Umbler)

WINDOWS VS OSX VS LINUX

Page 55: Afinal, o que é Docker? (Webinar Umbler)

CONTÊINERES LINUX

LINUX (DOCKER HOST)WINDOWSOSX

VM LINUX (DOCKER HOST)

DOCKER CLIENTDOCKER CLIENT

VM LINUX (DOCKER HOST)

DOCKER CLIENT

DOCKER DAEMONDOCKER DAEMONDOCKER DAEMON

Page 56: Afinal, o que é Docker? (Webinar Umbler)

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)

Page 57: Afinal, o que é Docker? (Webinar Umbler)

ESTADOS DE UM CONTÊINER

Page 58: Afinal, o que é Docker? (Webinar Umbler)

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

Page 59: Afinal, o que é Docker? (Webinar Umbler)

IMAGENS

Page 60: Afinal, o que é Docker? (Webinar Umbler)
Page 61: Afinal, o que é Docker? (Webinar Umbler)
Page 62: Afinal, o que é Docker? (Webinar Umbler)
Page 63: Afinal, o que é Docker? (Webinar Umbler)
Page 64: Afinal, o que é Docker? (Webinar Umbler)

docker history nginx

Page 65: Afinal, o que é Docker? (Webinar Umbler)

ADOÇÃO

Page 66: Afinal, o que é Docker? (Webinar Umbler)

https://www.datadoghq.com/docker-adoption/

Page 67: Afinal, o que é Docker? (Webinar Umbler)

https://www.datadoghq.com/docker-adoption/

Page 68: Afinal, o que é Docker? (Webinar Umbler)

https://www.datadoghq.com/docker-adoption/

Page 69: Afinal, o que é Docker? (Webinar Umbler)

https://www.datadoghq.com/docker-adoption/

Page 70: Afinal, o que é Docker? (Webinar Umbler)

https://www.datadoghq.com/docker-adoption/

Page 71: Afinal, o que é Docker? (Webinar Umbler)

TO BE CONTINUED…

MAIS SOBRE DOCKER

▸ https://docs.docker.com

▸ https://telegram.me/dockerbr

▸ http://docker-br.herokuapp.com

▸ https://community.docker.com

▸ http://bit.ly/curso-docker