SlideShare uma empresa Scribd logo
VAGRANT & 
DOCKER 
Ou carregue seus ambientes no bolso com Vagrant e Docker 
diogo.lucas@gmail.com
Primeiro, o bode na sala:
DOKKU
Servidor dokku 
Scripts dokku 
Deployment dokku 
Sugestões dokku?
voltaremos aokku ao dokku mais tarde
Vagrant & Docker: carregue seus ambientes no bolso
Ambientes: 
a) reprodutíveis 
b) portáveis
like so (demo)
olhando por baixo dos panos...
ANATOMIA DE UM ARQUIVO VAGRANT 
(SIM, ISSO É RUBY :)): 
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
# Configurando a imagem (Vagrant) de base para a VM 
config.vm.box = "cbumgard/nodejs" 
# Configurando o redirecionamento de portas 
config.vm.network "forwarded_port", guest: 1948, host: 1948 
# Preparando a VM, usando shell 
config.vm.provision "shell", inline: "cd /vagrant;npm install", privileged: "false" 
# Configuração (desativada) de um IP fixo para acesso do host à máquina 
# config.vm.network "private_network", ip: "192.168.33.10" 
# Configuração (desativada) de uma pasta compartilhada entre o host e a VM 
# config.vm.synced_folder "../data", "/vagrant_data" 
end
sim, o fluxo se resume a: 
$ git clone my-repo 
$ vagrant up
Ok, mas e se suas aplicações fossem portáteis?
Vagrant & Docker: carregue seus ambientes no bolso
PROBLEMÃO DE LOGÍSTICA ATÉ 1950: 
Como transportar e cobrar por cargas tão diferentes entre 
si?
A SOLUÇÃO:
PROBLEMÃO DE DEVOPS ATÉ 2013: 
Como deployar e promover aplicações tão diferentes entre 
si?
A SOLUÇÃO:
UM EXEMPLO COM MONGODB 
$ docker run --name exemplo-TDC -d mongo 
$ docker run -it --link exemplo-TDC:mongo  
--rm mongo sh -c 'exec mongo  
"$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"' 
$ show dbs
CONCEITOS: 
Dockerfile: descreve uma imagem 
Imagem: base (binários) para um container 
Container: unidade de execução
POR QUE UM DEV GOSTA DISSO? 
Portabilidade + Reprodutibilidade 
Ei, não dependo de burocratas todo o tempo!
POR QUE UM DEVOPS GOSTA DISSO? 
Automação + Reprodutibilidade 
Ei, é menos trabalho chato!
POR QUE UM ADMIN GOSTA DISSO? 
Ei, é menos trabalho!
POR QUE UM INFRA MANAGER GOSTA 
DISSO? 
Ei, é uma melhor densidade computacional! 
Ei, posso gastar menos!
MAS ESPEREM, 
TEM MAIS!
Docker + Heroku 
Dokku
Docker + Vagrant 
Prod-like na sua máquina
DOCKER-BASED 
PROMOTIONS 
Build: docker push 
Deploy: docker pull
DOCKER EXTRAS 
MesoSphere 
Kubernetes 
OpenShift 
Flynn 
Deis 
Fig
Momento holy sh#t
Vagrant & Docker: carregue seus ambientes no bolso
Q&A
O INCRÉDULO: OK, MAS QUAIS SÃO OS 
PROBLEMAS COM O DOCKER?
1. Alto no hype cycle 
2. Preocupações sobre segurança e estabilidade 
3. Rampa de equipe 
4. Use cases parciais
O EXPERIENTE: TÁ, MAS E PORQUE EU 
NÃO POSSO USAR SÓ PUPPET & AFINS? 
Poder, pode, mas não vai ser a mesma coisa: 
a) menor reprodutibilidade e b) menor densidade potencial
O EMPOLGADO: LEGAL, LEGAL, MUITO 
LEGAL! ONDE EU ASSINO?!? 
1. 
2. 
3. 
Crie seu próprio sandbox 
Ouça a própria Docker 
Entre na IASA/GUCloud (nudge nudge)

Mais conteúdo relacionado

PDF
Primeiros passos com o Docker
PDF
Desenvolvendo e implantando aplicações PHP utilizando Docker
PDF
Vagrant vs docker? Melhor vagrant + docker
PDF
Docker na vida real
PDF
Docker, facilitando a vida do desenvolvimento
PDF
Talk no Meetup LaravelSP #3
PDF
Iniciando com docker
PDF
Docker volumes
Primeiros passos com o Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
Vagrant vs docker? Melhor vagrant + docker
Docker na vida real
Docker, facilitando a vida do desenvolvimento
Talk no Meetup LaravelSP #3
Iniciando com docker
Docker volumes

Mais procurados (20)

PDF
Introdução à plataforma Docker
PDF
Bem vindo ao Docker
PPTX
Introdução ao docker
ODP
O que é Docker?
PPTX
Introdução a Containers Docker
PDF
Um milhao de usuários simultâneos
ODP
Docker: uma visão geral e exemplos de uso
PDF
Verdades que não querem te contar sobre Docker
PDF
Apresentação docker
PDF
Docker: uma visão geral
PDF
5. rodando containers docker na aws
PDF
Apresentacao docker
PDF
Container revolucao
PDF
Orquestrando Docker Containers: Machine, Swarm e Compose
PDF
O que é docker?
PDF
Deploying Docker Containers
PDF
O poder do Docker (7 Masters)
PDF
TDC 2015 POA - O Fantástico Mundo de Docker
PDF
Desenvolvendo com PHP e Docker
PDF
Freedomday2016 - Fique na caixinha, docker
Introdução à plataforma Docker
Bem vindo ao Docker
Introdução ao docker
O que é Docker?
Introdução a Containers Docker
Um milhao de usuários simultâneos
Docker: uma visão geral e exemplos de uso
Verdades que não querem te contar sobre Docker
Apresentação docker
Docker: uma visão geral
5. rodando containers docker na aws
Apresentacao docker
Container revolucao
Orquestrando Docker Containers: Machine, Swarm e Compose
O que é docker?
Deploying Docker Containers
O poder do Docker (7 Masters)
TDC 2015 POA - O Fantástico Mundo de Docker
Desenvolvendo com PHP e Docker
Freedomday2016 - Fique na caixinha, docker
Anúncio

Semelhante a Vagrant & Docker: carregue seus ambientes no bolso (20)

PPTX
Usando Docker no desenvolvimento .NET
PDF
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
PPTX
Ambiente de desenvolvimento com docker e ruby on rails
PDF
Docker - Essa baleia vai te conquistar
PPTX
Docker Para Maiores - GDG Cabreúva
PDF
Docker 101 e Ambientes Imutáveis
PPTX
PDF
Introdução ao docker
PPTX
Docker e suas tecnologias
PPTX
Docker e suas tecnologias por @cesarnog
PDF
Usp codelabs (docker)
PDF
Oficina docker
PDF
Introdução-a-Docker-compactado.pdf
PPTX
Docker para maiores
PDF
Mundo mágico de Docker
PDF
Dockerizando aplicações em uma Fintech
PDF
Docker - tutorial iniciantes
PPTX
Conheça o Docker
PDF
Docker Swarm - Sua aplicação pronta para escalar
PDF
Docker do básico a orquestração (PHPeste2016)
Usando Docker no desenvolvimento .NET
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Ambiente de desenvolvimento com docker e ruby on rails
Docker - Essa baleia vai te conquistar
Docker Para Maiores - GDG Cabreúva
Docker 101 e Ambientes Imutáveis
Introdução ao docker
Docker e suas tecnologias
Docker e suas tecnologias por @cesarnog
Usp codelabs (docker)
Oficina docker
Introdução-a-Docker-compactado.pdf
Docker para maiores
Mundo mágico de Docker
Dockerizando aplicações em uma Fintech
Docker - tutorial iniciantes
Conheça o Docker
Docker Swarm - Sua aplicação pronta para escalar
Docker do básico a orquestração (PHPeste2016)
Anúncio

Mais de Diogo Lucas (9)

PDF
YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.
PDF
Estratégias e desafios na implantação de Lean no setor público e privado
PDF
Creating lightweight APIs with harvester.js
PPTX
Tratores e devops
PPTX
3 cenários, 3 setups
PPTX
Visual thinking
PPTX
Agile @ UniRitter
PPTX
Effective presentations
PPTX
The Zen of IoC
YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.
Estratégias e desafios na implantação de Lean no setor público e privado
Creating lightweight APIs with harvester.js
Tratores e devops
3 cenários, 3 setups
Visual thinking
Agile @ UniRitter
Effective presentations
The Zen of IoC

Último (11)

PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Utilizando code blockes por andre backes
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Utilizando code blockes por andre backes
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Viasol Energia Solar -Soluções para geração e economia de energia
Eng. Software - pontos essenciais para o início
Mecânico de Manutenção de Equipamentos.pptx
Arquitetura de computadores - Memórias Secundárias
Manejo integrado de pragas na cultura do algodão
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx

Vagrant & Docker: carregue seus ambientes no bolso

  • 1. VAGRANT & DOCKER Ou carregue seus ambientes no bolso com Vagrant e Docker diogo.lucas@gmail.com
  • 2. Primeiro, o bode na sala:
  • 4. Servidor dokku Scripts dokku Deployment dokku Sugestões dokku?
  • 5. voltaremos aokku ao dokku mais tarde
  • 9. olhando por baixo dos panos...
  • 10. ANATOMIA DE UM ARQUIVO VAGRANT (SIM, ISSO É RUBY :)): Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # Configurando a imagem (Vagrant) de base para a VM config.vm.box = "cbumgard/nodejs" # Configurando o redirecionamento de portas config.vm.network "forwarded_port", guest: 1948, host: 1948 # Preparando a VM, usando shell config.vm.provision "shell", inline: "cd /vagrant;npm install", privileged: "false" # Configuração (desativada) de um IP fixo para acesso do host à máquina # config.vm.network "private_network", ip: "192.168.33.10" # Configuração (desativada) de uma pasta compartilhada entre o host e a VM # config.vm.synced_folder "../data", "/vagrant_data" end
  • 11. sim, o fluxo se resume a: $ git clone my-repo $ vagrant up
  • 12. Ok, mas e se suas aplicações fossem portáteis?
  • 14. PROBLEMÃO DE LOGÍSTICA ATÉ 1950: Como transportar e cobrar por cargas tão diferentes entre si?
  • 16. PROBLEMÃO DE DEVOPS ATÉ 2013: Como deployar e promover aplicações tão diferentes entre si?
  • 18. UM EXEMPLO COM MONGODB $ docker run --name exemplo-TDC -d mongo $ docker run -it --link exemplo-TDC:mongo --rm mongo sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"' $ show dbs
  • 19. CONCEITOS: Dockerfile: descreve uma imagem Imagem: base (binários) para um container Container: unidade de execução
  • 20. POR QUE UM DEV GOSTA DISSO? Portabilidade + Reprodutibilidade Ei, não dependo de burocratas todo o tempo!
  • 21. POR QUE UM DEVOPS GOSTA DISSO? Automação + Reprodutibilidade Ei, é menos trabalho chato!
  • 22. POR QUE UM ADMIN GOSTA DISSO? Ei, é menos trabalho!
  • 23. POR QUE UM INFRA MANAGER GOSTA DISSO? Ei, é uma melhor densidade computacional! Ei, posso gastar menos!
  • 26. Docker + Vagrant Prod-like na sua máquina
  • 27. DOCKER-BASED PROMOTIONS Build: docker push Deploy: docker pull
  • 28. DOCKER EXTRAS MesoSphere Kubernetes OpenShift Flynn Deis Fig
  • 31. Q&A
  • 32. O INCRÉDULO: OK, MAS QUAIS SÃO OS PROBLEMAS COM O DOCKER?
  • 33. 1. Alto no hype cycle 2. Preocupações sobre segurança e estabilidade 3. Rampa de equipe 4. Use cases parciais
  • 34. O EXPERIENTE: TÁ, MAS E PORQUE EU NÃO POSSO USAR SÓ PUPPET & AFINS? Poder, pode, mas não vai ser a mesma coisa: a) menor reprodutibilidade e b) menor densidade potencial
  • 35. O EMPOLGADO: LEGAL, LEGAL, MUITO LEGAL! ONDE EU ASSINO?!? 1. 2. 3. Crie seu próprio sandbox Ouça a própria Docker Entre na IASA/GUCloud (nudge nudge)