SlideShare uma empresa Scribd logo
Docker do zero
ao deploy
Marcio Trindade
Quem sou eu
• Marcio Trindade (@marciotrindade);
• Formado em Ed. Física;
• Trabalho com desenvolvimento desde 2004;
• Blog: marciotrindade.com;
• Trabalho com Ruby desde 2008;
Antes era assim
Agora está assim
WebService
nginx + ssl + assets
Banco de Dados
postgresql + pgv8 + v8
Fila
Redis
Workers
Ruby + sidekiq
Web app
Ruby + rails
API
Golang
Cache
Memcached
Por que Container
• Conseguir isolar cada parte da sua aplicação;
• Tudo o que cada parte precisa está lá;
• Ter o ambiente mais próximo ao de produção;
• Simplificar o desenvolvimento;
• Simplificar o deploy;
Container x VM
O que é Docker?
• Uma plataforma open-source para gerenciar
containers;
• Escrito pela equipe do Docker, Inc.;
• Sob a licença Apache 2.0;
Componentes
• Docker client and server
• Docker Images
• Registries
• Docker Containers
Client and server
• Já vem com um client (cli);
• Conversa com o servidor ou daemon;
• Possui uma api RESTfull completa;
• Pode estar ou não na mesma maquina;
Docker images
• Forma do docker construir containers;
• É a criação do ambiente a partir do file system com
instruções do tipo:

Add a file

Run a comand
• Podemos considerar imagens como o código fonte
dos containers.
Registries
• Um repositório de imagens;
• Pode ser público ou privado;
• Docker Hub (público);
• Possui milhares de imagens prontas;
Containers
• Criado a partir de uma imagem;
• Contém a sua app ou serviço;
• É a camada de execução;
• Pode rodar um ou mais processos;
Básico de Docker
Live code
Dockerfile
• Evite fazer commit
• Forma de automatizar
• Simples e leve
• Rápido (usa cache)
Dockerfile
• FROM - A imagem pra utilizar

FROM ubuntu:14.04
• RUN - Executar comandos necessários pra preparar o sistema

RUN apt-get install -y package-foo && apt-get install -y package-bar
• CMD - Comando que seu container deve rodar

CMD ["rake", "db:migrate"]
• EXPOSE - Expor a porta que o serviço vai escutar

EXPOSE 80
• ENV - Criar variaveis de ambiente

ENV RAILS_ENV production
• COPY or ADD - Copiar um conteúdo pra dentro do container

COPY Gemfile /myapp/Gemfile
• VOLUME - Expor uma area de de arquivos mutaveis

VOLUME . /my_app
• WORKDIR - Qual o path de trabalho da sua aplicação

WORKDIR /my_app
Dockerfile
Live code
Docker Compose
• Antigo "fig";
• Cria e gerencia containers docker;
• Define multi-containers em um único arquivo;
• Cria link entre os containers;
• Sobe suas aplicações com um único comando;
Docker Compose
Live code
Referências
• The Docker Book - James Turnbull
• https://www.docker.com/
• https://docs.docker.com/compose/
• https://www.youtube.com/watch?v=ZzQfxoMFH0U
• http://www.rightscale.com/blog/cloud-
management-best-practices/docker-vs-vms-
combining-both-cloud-portability-nirvana
Duvidas?
Marcio Trindade
by Locaweb

Mais conteúdo relacionado

Mais procurados

Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Renato Groff
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
Matheus Fidelis
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
Benicio Ávila
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
Wellington Silva
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
Hugo Henley
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
tdc-globalcode
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
Bruno Ricardo Siqueira
 
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
tdc-globalcode
 
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
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
MOSS Open Source Services
 
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
Renato Groff
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Renato Groff
 
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
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolso
Diogo Lucas
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Renato Groffe
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
Renato Groffe
 
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
 
Trabalhando com a infraestrutura como software na AWS com Elastic Beanstalk e...
Trabalhando com a infraestrutura como software na AWS com Elastic Beanstalk e...Trabalhando com a infraestrutura como software na AWS com Elastic Beanstalk e...
Trabalhando com a infraestrutura como software na AWS com Elastic Beanstalk e...
Bruno Rodrigues
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Renato Groff
 
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
Renato Groff
 

Mais procurados (20)

Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containersTDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
TDC2018SP | Trilha Containers - CRI-O: Nem so de Docker vivem os containers
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
TDC2018SP | Trilha Containers - ASGARD: Abstraindo orquestradores de containers
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
 
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
 
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
 
Vagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolsoVagrant & Docker: carregue seus ambientes no bolso
Vagrant & Docker: carregue seus ambientes no bolso
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)
 
Trabalhando com a infraestrutura como software na AWS com Elastic Beanstalk e...
Trabalhando com a infraestrutura como software na AWS com Elastic Beanstalk e...Trabalhando com a infraestrutura como software na AWS com Elastic Beanstalk e...
Trabalhando com a infraestrutura como software na AWS com Elastic Beanstalk e...
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
 
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
 

Destaque

Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
Wellington Silva
 
Docker para deploy de aplicação
Docker para deploy de aplicaçãoDocker para deploy de aplicação
Docker para deploy de aplicação
Mundo Docker
 
Blue Green Deployment com Docker
Blue Green Deployment com DockerBlue Green Deployment com Docker
Blue Green Deployment com Docker
Pedro Cavalheiro
 
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-sourceDa Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Raphael Paiva
 
Into the ZF2 Service Manager
Into the ZF2 Service ManagerInto the ZF2 Service Manager
Into the ZF2 Service Manager
Chris Tankersley
 
Oito dicas sobre Docker
Oito dicas sobre DockerOito dicas sobre Docker
Oito dicas sobre Docker
Mundo Docker
 
DevOps utilizando Docker
DevOps utilizando DockerDevOps utilizando Docker
DevOps utilizando Docker
thdotnet
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
Alefe Variani
 
Automatizando a implantação e operação de aplicações conteinerizadas no...
Automatizando a implantação e operação de aplicações conteinerizadas no...Automatizando a implantação e operação de aplicações conteinerizadas no...
Automatizando a implantação e operação de aplicações conteinerizadas no...
Elo7
 
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
 

Destaque (10)

Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Docker para deploy de aplicação
Docker para deploy de aplicaçãoDocker para deploy de aplicação
Docker para deploy de aplicação
 
Blue Green Deployment com Docker
Blue Green Deployment com DockerBlue Green Deployment com Docker
Blue Green Deployment com Docker
 
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-sourceDa Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
 
Into the ZF2 Service Manager
Into the ZF2 Service ManagerInto the ZF2 Service Manager
Into the ZF2 Service Manager
 
Oito dicas sobre Docker
Oito dicas sobre DockerOito dicas sobre Docker
Oito dicas sobre Docker
 
DevOps utilizando Docker
DevOps utilizando DockerDevOps utilizando Docker
DevOps utilizando Docker
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
 
Automatizando a implantação e operação de aplicações conteinerizadas no...
Automatizando a implantação e operação de aplicações conteinerizadas no...Automatizando a implantação e operação de aplicações conteinerizadas no...
Automatizando a implantação e operação de aplicações conteinerizadas no...
 
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
 

Semelhante a Alagoas Dev Day

Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
Evandro Silvestre
 
Docker
DockerDocker
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
Rhuan Karlus Silva
 
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Renato Groff
 
De 0 a DevOps
De 0 a DevOpsDe 0 a DevOps
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Renato Groff
 
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
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
Dextra Sistemas / Etec Itu
 
Olá docker
Olá dockerOlá docker
Olá docker
Marcos Ellys
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhores
Carlos Andre Fernandes
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
Rodrigo Rodrigues
 
.Net Core + Docker
.Net Core +  Docker.Net Core +  Docker
.Net Core + Docker
Wesley Camargo
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
Rafael Chiavegatto
 
Vagrant sti
Vagrant stiVagrant sti
Vagrant sti
Hugo Henley
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
David Ruiz
 
Docker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoDocker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimento
Marcela Carvalho
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
Fabio Janiszevski
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Renato Groff
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
Uira Ribeiro
 
Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018
Renato Groff
 

Semelhante a Alagoas Dev Day (20)

Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
Docker
DockerDocker
Docker
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
 
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
 
De 0 a DevOps
De 0 a DevOpsDe 0 a DevOps
De 0 a DevOps
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 
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
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
Olá docker
Olá dockerOlá docker
Olá docker
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhores
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
.Net Core + Docker
.Net Core +  Docker.Net Core +  Docker
.Net Core + Docker
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Vagrant sti
Vagrant stiVagrant sti
Vagrant sti
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
Docker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoDocker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimento
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
 
Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018Docker para Desenvolvedores - Developers-BR - Julho-2018
Docker para Desenvolvedores - Developers-BR - Julho-2018
 

Último

Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 

Último (8)

Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 

Alagoas Dev Day

  • 1. Docker do zero ao deploy Marcio Trindade
  • 2. Quem sou eu • Marcio Trindade (@marciotrindade); • Formado em Ed. Física; • Trabalho com desenvolvimento desde 2004; • Blog: marciotrindade.com; • Trabalho com Ruby desde 2008;
  • 3.
  • 5. Agora está assim WebService nginx + ssl + assets Banco de Dados postgresql + pgv8 + v8 Fila Redis Workers Ruby + sidekiq Web app Ruby + rails API Golang Cache Memcached
  • 6. Por que Container • Conseguir isolar cada parte da sua aplicação; • Tudo o que cada parte precisa está lá; • Ter o ambiente mais próximo ao de produção; • Simplificar o desenvolvimento; • Simplificar o deploy;
  • 8. O que é Docker? • Uma plataforma open-source para gerenciar containers; • Escrito pela equipe do Docker, Inc.; • Sob a licença Apache 2.0;
  • 9. Componentes • Docker client and server • Docker Images • Registries • Docker Containers
  • 10. Client and server • Já vem com um client (cli); • Conversa com o servidor ou daemon; • Possui uma api RESTfull completa; • Pode estar ou não na mesma maquina;
  • 11. Docker images • Forma do docker construir containers; • É a criação do ambiente a partir do file system com instruções do tipo:
 Add a file
 Run a comand • Podemos considerar imagens como o código fonte dos containers.
  • 12. Registries • Um repositório de imagens; • Pode ser público ou privado; • Docker Hub (público); • Possui milhares de imagens prontas;
  • 13. Containers • Criado a partir de uma imagem; • Contém a sua app ou serviço; • É a camada de execução; • Pode rodar um ou mais processos;
  • 15. Dockerfile • Evite fazer commit • Forma de automatizar • Simples e leve • Rápido (usa cache)
  • 16. Dockerfile • FROM - A imagem pra utilizar
 FROM ubuntu:14.04 • RUN - Executar comandos necessários pra preparar o sistema
 RUN apt-get install -y package-foo && apt-get install -y package-bar • CMD - Comando que seu container deve rodar
 CMD ["rake", "db:migrate"] • EXPOSE - Expor a porta que o serviço vai escutar
 EXPOSE 80 • ENV - Criar variaveis de ambiente
 ENV RAILS_ENV production • COPY or ADD - Copiar um conteúdo pra dentro do container
 COPY Gemfile /myapp/Gemfile • VOLUME - Expor uma area de de arquivos mutaveis
 VOLUME . /my_app • WORKDIR - Qual o path de trabalho da sua aplicação
 WORKDIR /my_app
  • 18. Docker Compose • Antigo "fig"; • Cria e gerencia containers docker; • Define multi-containers em um único arquivo; • Cria link entre os containers; • Sobe suas aplicações com um único comando;
  • 20. Referências • The Docker Book - James Turnbull • https://www.docker.com/ • https://docs.docker.com/compose/ • https://www.youtube.com/watch?v=ZzQfxoMFH0U • http://www.rightscale.com/blog/cloud- management-best-practices/docker-vs-vms- combining-both-cloud-portability-nirvana