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

Mais procurados

Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
MOSS Open Source Services
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
Leonardo de Oliveira
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
Hugo Leonardo Costa e Silva
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
Rodrigo Emereciano
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
Matheus Fidelis
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
Fernando Ike
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
Tobias Sette
 
Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre Docker
Luís Bianchin
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
Marcelo Fleury
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
Michael Castillo Granados
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
Amazon Web Services LATAM
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
Mauricio Martins
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
Fernando Ike
 
Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e Compose
Roberto Hashioka
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
Waldemar Neto
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
Hugo Henley
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)
Wellington Silva
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de Docker
Stefan Teixeira
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e Docker
Waldemar Neto
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
Eustaquio Guimaraes mendesbsb
 

Mais procurados (20)

Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre Docker
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e Compose
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de Docker
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e Docker
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 

Semelhante a Vagrant & Docker: carregue seus ambientes no bolso

Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
Dextra Sistemas / Etec Itu
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Dextra Sistemas / Etec Itu
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
SeRHmatica - Sistemas e Serviços
 
Docker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistarDocker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistar
Vinícius Feitosa
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
Matheus Fidelis
 
Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis
Wallison Marra
 
Docker
DockerDocker
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
Benicio Ávila
 
Docker e suas tecnologias
Docker e suas tecnologiasDocker e suas tecnologias
Docker e suas tecnologias
Cesar Augusto Nogueira
 
Docker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnog
Cesar Augusto Nogueira
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
TechCobli
 
Oficina docker
Oficina dockerOficina docker
Oficina docker
Morvana Bonin
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
dadalt1
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
Matheus Fidelis
 
Mundo mágico de Docker
Mundo mágico de DockerMundo mágico de Docker
Mundo mágico de Docker
DANIEL SILVA
 
Dockerizando aplicações em uma Fintech
Dockerizando aplicações em uma FintechDockerizando aplicações em uma Fintech
Dockerizando aplicações em uma Fintech
Rafael Gomes
 
Docker - tutorial iniciantes
Docker - tutorial iniciantesDocker - tutorial iniciantes
Docker - tutorial iniciantes
DiogoSoares847327
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
Uira Ribeiro
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalar
gustavomtborges
 
Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)
Wellington Silva
 

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

Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
 
Docker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistarDocker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistar
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
 
Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis Docker 101 e Ambientes Imutáveis
Docker 101 e Ambientes Imutáveis
 
Docker
DockerDocker
Docker
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Docker e suas tecnologias
Docker e suas tecnologiasDocker e suas tecnologias
Docker e suas tecnologias
 
Docker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnog
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
 
Oficina docker
Oficina dockerOficina docker
Oficina docker
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
Mundo mágico de Docker
Mundo mágico de DockerMundo mágico de Docker
Mundo mágico de Docker
 
Dockerizando aplicações em uma Fintech
Dockerizando aplicações em uma FintechDockerizando aplicações em uma Fintech
Dockerizando aplicações em uma Fintech
 
Docker - tutorial iniciantes
Docker - tutorial iniciantesDocker - tutorial iniciantes
Docker - tutorial iniciantes
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalar
 
Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)
 

Mais de Diogo Lucas

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

Mais de Diogo Lucas (9)

YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.
YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.
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
Estratégias e desafios na implantação de Lean no setor público e privadoEstratégias e desafios na implantação de Lean no setor público e privado
Estratégias e desafios na implantação de Lean no setor público e privado
 
Creating lightweight APIs with harvester.js
Creating lightweight APIs with harvester.jsCreating lightweight APIs with harvester.js
Creating lightweight APIs with harvester.js
 
Tratores e devops
Tratores e devopsTratores e devops
Tratores e devops
 
3 cenários, 3 setups
3 cenários, 3 setups3 cenários, 3 setups
3 cenários, 3 setups
 
Visual thinking
Visual thinkingVisual thinking
Visual thinking
 
Agile @ UniRitter
Agile @ UniRitterAgile @ UniRitter
Agile @ UniRitter
 
Effective presentations
Effective presentationsEffective presentations
Effective presentations
 
The Zen of IoC
The Zen of IoCThe Zen of IoC
The Zen of IoC
 

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)