SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Introdução ao
Quem sou eu?
● Aluno do BC&T
● Engenheiro de software no Elo7
● Instrutor na Caelum
Motivação
● Comprei um servidor e quero montar uma
empresa de hospedagem.
● Preciso hospedar o site de 3 clientes no meu
servidor Linux.
● Cada site utiliza uma stack diferente de
tecnologias, um utiliza Java, outro utiliza
Ruby e o último utiliza PHP.
Motivação
HARDWARE
SISTEMA OPERACIONAL
Problemas
● Se um dos sites dos meus clientes receber
um volume muito grande de requisições a
performance dos sites dos outros clientes
ficará comprometida.
● Eu tenho que atualizar a versão do Java,
Ruby e PHP para todos os clientes de uma só
vez pois não tenho isolamento entre eles.
● Vou usar máquinas virtuais.
● Consigo separação entre as stacks de
tecnologias.
● Consigo definir qual a capacidade de
hardware que posso dar para uma máquina
virtual.
● Ganho a possibilidade de executar outras
distribuições Linux e até servidores
Windows dentro da minha VM.
Solução
Solução
HARDWARE
SISTEMA OPERACIONAL
SISTEMA
OPERACIONAL
SISTEMA
OPERACIONAL
SISTEMA
OPERACIONAL
HYPERVISOR
Outros problemas
● Máquinas virtuais causam perda de performance
● Máquinas virtuais demoram para iniciar
Outra solução
● Vou utilizar LinuX Containers, que é a
junção de três ferramentas do kernel do
Linux: cgroups, namespaces e chroot.
● Ganho performance pois não preciso
mais do hypervisor e dos sistemas
operacionais virtualizados.
● Continuo com o isolamento entre as
stacks dos sites.
● Consigo definir o quanto de hardware
cada site poderá consumir.
Motivação
HARDWARE
SISTEMA OPERACIONAL
Mais um problema
● Se meu servidor parar e eu precisar recriar os
meus containers?
Solução final
● Agora sim! Vou usar Docker!
● Ele é escrito em Go, usa por baixo dos panos
LinuX Containers.
● Me permite criar imagens dos containers que
podem ser executadas quantas vezes eu quiser
LIVE CODING
Usando Docker em desenvolvimento
● Tenho um projeto Java que depende do
MySQL para executar.
● Posso usar o Docker para não precisar
instalar o MySQL no meu computador.
OUTRO LIVE CODING
Usando Docker em produção
● Vou resolver o famoso problema da
computação: “mas no meu computador
funcionou”.
Prometo que é o
ÚLTIMO LIVE CODING
● Como faço para gerenciar muitos containers?
● Eu preciso realmente usar um sistema
operacional “completo” se eu executar todos
meus sites dentro de containers?
Problemas para o meu “eu do futuro”
Soluções para o meu “eu do futuro”
Livros
https://www.casadocodigo.com.br/products/livro-docker
https://www.manning.com/books/docker-in-action
Cursos online
https://www.alura.com.br/curso-online-docker
Para saber mais
Live coding
https://github.com/newton-beck/palestra-bcc-docker
Slides
https://pt.slideshare.net/NewtonAngelini
Acesso aos recursos da palestra
Dúvidas!?
Danke schön

Weitere ähnliche Inhalte

Was ist angesagt?

Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAmazon Web Services LATAM
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSAmazon Web Services LATAM
 
DevOps: desenvolvedores e sysadmins cooperando na prática
DevOps: desenvolvedores e sysadmins cooperando na práticaDevOps: desenvolvedores e sysadmins cooperando na prática
DevOps: desenvolvedores e sysadmins cooperando na práticaAri Stopassola Junior
 
Primeiros passos utilizando o AWS Mobile Hub
Primeiros passos utilizando o AWS Mobile HubPrimeiros passos utilizando o AWS Mobile Hub
Primeiros passos utilizando o AWS Mobile HubAmazon Web Services LATAM
 
Webinar: Como obter valor comercial com Big Data
Webinar: Como obter valor comercial com Big DataWebinar: Como obter valor comercial com Big Data
Webinar: Como obter valor comercial com Big DataAmazon Web Services LATAM
 
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidorWebinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidorAmazon Web Services LATAM
 
Construindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsConstruindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsCamila Carrera
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRElvis Rocha
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaAmazon Web Services LATAM
 
Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Pablo Nóbrega
 
Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...Dan El Pierre Rezende
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
Multicloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShift
Multicloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShiftMulticloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShift
Multicloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShiftAndré Dias
 

Was ist angesagt? (20)

Macro Arquitetura de Software
Macro Arquitetura de SoftwareMacro Arquitetura de Software
Macro Arquitetura de Software
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Front7 React Native
Front7 React NativeFront7 React Native
Front7 React Native
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
DevOps: desenvolvedores e sysadmins cooperando na prática
DevOps: desenvolvedores e sysadmins cooperando na práticaDevOps: desenvolvedores e sysadmins cooperando na prática
DevOps: desenvolvedores e sysadmins cooperando na prática
 
JavaEE
JavaEEJavaEE
JavaEE
 
Primeiros passos utilizando o AWS Mobile Hub
Primeiros passos utilizando o AWS Mobile HubPrimeiros passos utilizando o AWS Mobile Hub
Primeiros passos utilizando o AWS Mobile Hub
 
Webinar: Como obter valor comercial com Big Data
Webinar: Como obter valor comercial com Big DataWebinar: Como obter valor comercial com Big Data
Webinar: Como obter valor comercial com Big Data
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidorWebinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
 
Construindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsConstruindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOps
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínua
 
Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2
 
Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Multicloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShift
Multicloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShiftMulticloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShift
Multicloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShift
 
Falando sobre DevOps no azure
Falando sobre DevOps no azureFalando sobre DevOps no azure
Falando sobre DevOps no azure
 

Ähnlich wie Introdução ao docker

Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátilWanderlei Silva do Carmo
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVinícius Krolow
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerAécio Pires
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017Fabio Janiszevski
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerWellington Silva
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com DockerAécio Pires
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimentamichel adriano medeiros
 
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...iMasters
 
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
 
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
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 

Ähnlich wie Introdução ao docker (20)

Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátil
 
Vagrant sti
Vagrant stiVagrant sti
Vagrant sti
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
Palestra microservice semanatic
Palestra microservice semanaticPalestra microservice semanatic
Palestra microservice semanatic
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
 
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
 
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
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
 
Docker fundamentos
Docker fundamentosDocker fundamentos
Docker fundamentos
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
 
Hubot deployments
Hubot deploymentsHubot deployments
Hubot deployments
 
Conceitos Basicos e Docker - Java Noroeste
Conceitos Basicos e Docker - Java NoroesteConceitos Basicos e Docker - Java Noroeste
Conceitos Basicos e Docker - Java Noroeste
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 

Introdução ao docker