Upload
wellington-silva
View
74
Download
1
Embed Size (px)
Citation preview
DO BÁSICO A ORQUESTRAÇÃODOCKER
TEXT
WELLINGTON F. SILVA
▸ Pai
▸ Técnico Telecom,
▸ Programador,
▸ Devops
▸ Instrutor
▸ Escritor
TEXT
AGENDA
▸ O que é Docker
▸ Breve história
▸ Como funciona
▸ Principais comandos
▸ Exemplos
▸ Estudo sobre Docker em Produção
O QUE É DOCKER?
FERRAMENTA PARA VIRTUALIZAÇÃO NO NÍVEL DO SISTEMAS OPERACIONAL
O QUE É DOCKER?
▸ Sistemas de Containers Linux
O QUE É DOCKER?
▸ Sistemas de Containers Linux
▸ Leve e rápido
O QUE É DOCKER?
▸ Sistemas de Containers Linux
▸ Leve e rápido
▸ Open Source
O QUE É DOCKER?
▸ Sistemas de Containers Linux
▸ Leve e rápido
▸ Open Source
▸ Diversas ferramentas de cluster e orquestração
O QUE É DOCKER?
▸ Sistemas de Containers Linux
▸ Leve e rápido
▸ Open Source
▸ Diversas ferramentas de cluster e orquestração
▸ Facilita micro serviços
O QUE É DOCKER?
▸ Sistemas de Containers Linux
▸ Leve e rápido
▸ Open Source
▸ Diversas ferramentas de cluster e orquestração
▸ Facilita micro serviços
▸ Facilita emprego do 12 factor
O QUE É DOCKER?
▸ Sistemas de Containers Linux
▸ Leve e rápido
▸ Open Source
▸ Diversas ferramentas de cluster e orquestração
▸ Facilita micro serviços
▸ Facilita emprego do 12 factor
▸ Melhora a distribuição de recursos
HISTÓRIA
TEXT
HISTÓRIA
▸ 21/03/2013 1ª Demo
TEXT
HISTÓRIA
▸ 21/03/2013 1ª Demo
▸ Opensource(Apache License 2.0)
TEXT
HISTÓRIA
▸ 21/03/2013 1ª Demo
▸ Opensource(Apache License 2.0)
▸ Base para dotCloud
TEXT
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
TEXT
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
TEXT
HISTÓRIA
▸ 23/07/2014 Compra da Orchard (FIG)
TEXT
HISTÓRIA
▸ 23/07/2014 Compra da Orchard (FIG)
▸ 16/09/2014 3º aporte US$ 40 mi
TEXT
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
TEXT
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
TEXT
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?
PROCESSOS +
KERNEL NAMESPACES +
CGROUPS
PROCESSOS PID=1
KERNEL NAMESPACES (O QUE O PROCESSO PODE VER)
CGROUPS (O QUE O PROCESSO PODE USAR)
VM X CONTAINERS
ARQUITETURA
WINDOWS VS OSX VS LINUX
Windows 2016
IMAGENS
PRINCIPAIS COMANDOS
PRINCIPAIS COMANDOS
CRIAR CONTAINERS
docker run [opções] imagem [comando|parâmetro]
PRINCIPAIS COMANDOS
LISTAR CONTAINERS
docker ps [opções]
PRINCIPAIS COMANDOS
LISTAR IMAGENS
docker images [opções]
PRINCIPAIS COMANDOS
REMOVER CONTAINERS
docker rm [opções] id|nome
PRINCIPAIS COMANDOS
REMOVER IMAGENS
docker rmi [opções] id|tag
PRINCIPAIS COMANDOS
ADICIONAR UM PROCESSO
docker exec [opções] id|nome processo
PRINCIPAIS COMANDOS
USANDO VOLUMES
docker volume create [opções] [nome]
docker run --volume nome:/path …
docker run --volume "/host:/container" …
PRINCIPAIS COMANDOS
USANDO PORTAS
docker run --publish interface:porta-host:porta-container …
docker run --publish-all …
PRINCIPAIS COMANDOS
TRABALHANDO COM IMAGENS
docker commit [opções] id|container
docker pull imagem
docker push imagem
docker tag [img-original|id] nova-imagem
PRINCIPAIS COMANDOS
TRABALHANDO COM IMAGENS
Dockerfile: FROM debian:jessie
RUN apt-get update \
apt-get install --no-install-recommends \
--no-install-suggests -y nginx \
&& rm -rf /var/lib/apt/lists/*
EXPOSE 80 443
CMD ["nginx", "-g", "daemon off;"]
EXEMPLOSHORA DA TELA AZUL
MANEIRAS DE RODAR
DETACHED
docker run --detach debian sleep infinity
docker run -d debian sleep infinity
MANEIRAS DE RODAR
INTERATIVA COM TERMINAL
docker run --interactive --tty debian /bin/bash
docker run -i -t debian /bin/bash
MANEIRAS DE RODAR
INTERATIVA (UNIX PIPELINE)
echo "PHPeste" | docker run -i debian cat
EXEMPLOS
PHP BUILT IN WEB SERVER
docker run -d \
--publish 80:80 \
--volume "$(pwd):/app" \
--workdir /app \
php:7-cli \
php -S 0.0.0.0:80
EXEMPLOS
NGINX SERVER
docker run -d \
-p 80:80 \
--volume "$(pwd):/usr/share/nginx/html" \
nginx
EXEMPLOS
COMANDOS "DOCKERIZADOS"
docker run -it \
--volume "$(pwd):/app" \
--volume "$HOME/.ssh:/root/.ssh" \
composer/composer \
install
EXEMPLOS
DOCKER COMPOSE
Demo baseada no repo:
https://github.com/wsilva/demo-phpsp-ima
EXEMPLOS
APLICAÇÕES GUI
▸ Navegador Tor
▸ Eyes
▸ Spotify
▸ Sugestão: https://hub.docker.com/u/jess/
EXEMPLOS
DOCKER CRAFT
docker run -d \
-p 25565:25565 \
-v /var/run/docker.sock:/var/run/docker.sock \
wfsilva/dockercraft
EXEMPLOS
DOCKER SWARM
docker swarm init
docker swarm join --token
ESTUDO DATADOGHTTPS://WWW.DATADOGHQ.COM/DOCKER-ADOPTION/
AUMENTO DE 30% NO USO ENTRE MAIO DE 2015 E MAIO DE 2016
ESTUDO DATADOG
EM MAIORES EMPRESAS (+500 HOSTS) A ADOÇÃO É MAIOR
ESTUDO DATADOG
2/3 DOS CLIENTES QUE TESTARAM ADOTARAM
ESTUDO DATADOG
DOS CLIENTES QUE ADOTARAM A QUANTIDADE DE CONTAINERS QUINTUPLICOU
ESTUDO DATADOG
EM MÉDIA 5 CONTAINER POR HOST
ESTUDO DATADOG
VMS SÃO 6 X MAIS LONGEVAS QUE OS CONTAINERS
ESTUDO DATADOG
IMGS MAIS USADAS: REGISTRY, NGINX, REDIS, ELASTICSEARCH, MYSQL, …
ESTUDO DATADOG
TEXT
MAIS SOBRE DOCKER
▸ https://docs.docker.com
▸ https://telegram.me/dockerbr
▸ http://docker-br.herokuapp.com
▸ http://bit.ly/curso-docker
SUA LIGAÇÃO É MUITO IMPORTANTE PARA NÓS
‣ HTTPS://JOIND.IN/TALK/185C2 ‣ HTTPS://JOIND.IN/TALK/933FF ‣ HTTPS://LEGACY.JOIND.IN/19344 ‣ HTTPS://LEGACY.JOIND.IN/19347