SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
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
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?
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
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)

Contenu connexe

Tendances

Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers DockerMatheus 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âneosFernando 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 usoTobias 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 DockerLuís Bianchin
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando 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 ComposeRoberto Hashioka
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker ContainersHugo 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 DockerStefan Teixeira
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerWaldemar Neto
 

Tendances (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
 

Similaire à Vagrant & Docker: carregue seus ambientes no bolso

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 DevelopersDextra Sistemas / Etec Itu
 
Docker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistarDocker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistarVinícius Feitosa
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaMatheus 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
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao dockerBenicio Ávila
 
Docker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogCesar Augusto Nogueira
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)TechCobli
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
Mundo mágico de Docker
Mundo mágico de DockerMundo mágico de Docker
Mundo mágico de DockerDANIEL SILVA
 
Dockerizando aplicações em uma Fintech
Dockerizando aplicações em uma FintechDockerizando aplicações em uma Fintech
Dockerizando aplicações em uma FintechRafael Gomes
 
Docker - tutorial iniciantes
Docker - tutorial iniciantesDocker - tutorial iniciantes
Docker - tutorial iniciantesDiogoSoares847327
 
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 escalargustavomtborges
 
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
 

Similaire à 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)
 

Plus 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 privadoDiogo Lucas
 
Creating lightweight APIs with harvester.js
Creating lightweight APIs with harvester.jsCreating lightweight APIs with harvester.js
Creating lightweight APIs with harvester.jsDiogo Lucas
 
Tratores e devops
Tratores e devopsTratores e devops
Tratores e devopsDiogo Lucas
 
3 cenários, 3 setups
3 cenários, 3 setups3 cenários, 3 setups
3 cenários, 3 setupsDiogo Lucas
 
Agile @ UniRitter
Agile @ UniRitterAgile @ UniRitter
Agile @ UniRitterDiogo Lucas
 
Effective presentations
Effective presentationsEffective presentations
Effective presentationsDiogo Lucas
 

Plus 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
  • 6.
  • 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?
  • 13.
  • 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
  • 30.
  • 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)