SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Orquestrando Docker
Containers
Machine, Swarm e Compose
Roberto G. Hashioka - @rhashioka – 2015-06-10 – São Paulo/SP!
Informações Pessoais
•  Roberto Gandolfo Hashioka
•  @rogaha (Github) e @rhashioka (Twitter)!
•  No Docker em Maio 2013 (Dotcloud)!
•  Finanças -> Software Engineer!
•  Projeto Atual: Docker Hub/Metrics!
Objetivo da Apresentação
•  Explicar o que é o Docker e como usá-lo
•  Explicar o paradigma entre dev e ops!
•  Explicar como rodar aplicações distribuidas em qualquer ambiente!
•  Compartilhar experiências (Silicon Valley)!
Informações dos Projetos
•  Projetos no Github
•  Docker – (github.com/docker/docker)!
•  Docker Machine – (github.com/docker/machine)!
•  Docker Swarm – (github.com/docker/swarm)!
•  Docker Compose – (github.com/docker/compose)!
Aplicações distribuidas com Docker são modularizadas, portáveis e dinâmicas
O que é o Docker Engine?
•  Ferramenta que facilita a construção, distribuição e execução de qualquer a
plicação em qualquer ambiente (VM, nuvem, servidor fisico, laptop)
•  Sua aplicação roda de forma isolada com seus próprios processos, IP e file
system, independente do host. Ou seja, dentro de um container
•  Construção: empacota sua aplicação numa imagem (docker build)!
•  Distribuição: Move a imagem entre diferentes maquinas (docker push/pull)!
•  Execução: Execute sua aplicação (docker run)!
Contrução: docker build – Dockerfile
•  Receita para criar uma imagem (container)
•  Começa de uma base: FROM ubuntu:14.04, fedora:20, debian:jessie!
•  Rode comandos: RUN apt-get install –y firefox ssh !
•  Copie seus dados: ADD /app/code /code/!
•  Crie scripts de inicialização ou execute arquivos binários: CMD start_firefox
.sh, /usr/sbin/sshd –D!
Exemplo de Dockerfile
-----------------------------------------------------------------------------------------------------------!
FROM ubuntu:14.04!
MAINTAINER Roberto Hashioka (roberto@docker.com)!
RUN apt-get update && apt-get install -y nginx!
RUN echo ’Hello Developers from Sao Paulo' > /usr/share/nginx/html/index.html!
EXPOSE 80!
------------------------------------------------------------------------------------------------------------!
$ docker build –t rogaha/web .!
$ docker run –d –p 80:80 –-name container_web_demo_sp rogaha/web!
Distribuição: docker pull / push
•  Transfere sua aplicação dockerzizada de um servidor para outro
•  Registry Hub: Repositório central de imagens criadas pela comunidade!
•  O objetivo principal do Registry Hub é facilitar a criação de aplicações !
•  Milhares de images foram criadas e são mantidas pela comunidade. Por
exemplo: nginx, ubuntu, postgres, redis, node, centos, wordpress, java (htt
ps://registry.hub.docker.com/repos/library/)!
Execução: docker run
•  Roda as aplicações de forma consistente e confiável
•  Elimina os problemas de diferenças entre versionamento das dependências!
•  Os containers rodam de forma isolada. Você pode rodar aplicações em De
bian, Ubuntu, CentOS na mesmo servidor/laptop!
•  Se funciona no seu laptop, irá funcionar no servidor!
•  RESOLVE grande parte dos problemas entre DEV e OPS!
Estatíticas da comunidade Docker
•  > 950 Contribuidores no Github
•  > 80.000 Projetos dockerized no Github
•  > 140.000 Repositórios no Docker Hub!
•  > 48.000 membros no Meetup.com, > 150 cidades, > 50 países!
•  > 400.000.000 images do docker baixadas (docker pull)!
Docker Machine: Zero to Docker em minutos
Antes
• Várias etapas de setup!
• Conecta a apenas um host!
• Instalação e configuração
para aquele host específico!
Depois
• Um comando de setup!
• Provisiona o Docker Engine
em qualquer host!
• Integrações para criar hosts
com o docker nas nuvens !
Docker Machine
Docker Machine
$ machine create
Docker Swarm: Otimize recursos, Tolerância a falhas
e alta disponibilidade
Antes
• Sem solução nativa!
• Cada Docker Engine é
independente entre si!
!
Depois
• Cluster de Docker Engines
como se fosse um só!
• Interface única de dev.!
• Swarm dimensiona seu app!
• Agendamento nativa das app!
• Integração com outros
agendadores !
Docker Swarm
$ docker run swarm
Docker Swarm
$ docker run
Docker Swarm
$ docker run
Batteries included
but swappable
Docker Compose: Simplifica Aplicações multi-
container
Antes
• Simples aplicações individuais
em containers!
• Sem solução nativa para
aplicações multi-containers!
• Ineficiente: Precisa repetir
commandos para cada
container!
!
Depois
• Único arquivo .yml que define
sua aplicação inteira!
• Rode sua aplicação completa
com um único comando!
• Atualize facilmente sua
aplicação com o arquivo .yml!
!
Docker Compose
containers:
web:
build: .
command: python app.py
ports:
- "5000:5000"
volumes:
- .:/code
links:
- redis
environment:
- PYTHONUNBUFFERED=1
redis:
image: redis:latest
command: redis-server --appendonly yes
Docker Compose
$ docker-compose
Docker Compose
$ docker-compose
A Docker Distributed Application
$ dockerHappy
Devs
Ops
Flexibility
Web x8 Cache x2Database x2
Ecosistema de Gestão de Containers
Infrastructure
Clustering and Scheduling
Service Discovery
Docker Hub
Promo code: docker-sp-meetup
https://registry.hub.docker.com/plans/micro
@rhashioka
Obrigado!
Perguntas?
@rhashioka

Mais conteúdo relacionado

Mais procurados

Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerStefan Teixeira
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoSérgio Lima
 
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 bolsoDiogo Lucas
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o DockerWebSix
 
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleTDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleStefan Teixeira
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerWellington Silva
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerRafael Gomes
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting dockerRafael Gomes
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers DockerMatheus Fidelis
 
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
 

Mais procurados (20)

Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de Docker
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimento
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação 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
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
 
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleTDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
 
Docker volumes
Docker volumesDocker volumes
Docker volumes
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
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
 
Docker + Django
Docker + DjangoDocker + Django
Docker + Django
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 

Destaque

Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeStefan Teixeira
 
Bluesoft - Sistema de Gestão - Apresentação Comercial
Bluesoft - Sistema de Gestão - Apresentação ComercialBluesoft - Sistema de Gestão - Apresentação Comercial
Bluesoft - Sistema de Gestão - Apresentação ComercialBluesoft
 
Apresentação do Bluesoft ERP - Módulo Logístico
Apresentação do Bluesoft ERP - Módulo LogísticoApresentação do Bluesoft ERP - Módulo Logístico
Apresentação do Bluesoft ERP - Módulo LogísticoBluesoft
 
Apresentação do Bluesoft ERP - Módulo Contábil
Apresentação do Bluesoft ERP - Módulo ContábilApresentação do Bluesoft ERP - Módulo Contábil
Apresentação do Bluesoft ERP - Módulo ContábilBluesoft
 
Apresentação do Bluesoft ERP - Módulo de Patrimônio
Apresentação do Bluesoft ERP - Módulo de PatrimônioApresentação do Bluesoft ERP - Módulo de Patrimônio
Apresentação do Bluesoft ERP - Módulo de PatrimônioBluesoft
 
Apresentação do Bluesoft ERP - Módulo de CRM e DP
Apresentação do Bluesoft ERP - Módulo de CRM e DPApresentação do Bluesoft ERP - Módulo de CRM e DP
Apresentação do Bluesoft ERP - Módulo de CRM e DPBluesoft
 
Ink saving - Imprimir melhor com menos tinta
Ink saving - Imprimir melhor com menos tintaInk saving - Imprimir melhor com menos tinta
Ink saving - Imprimir melhor com menos tintaVitor Pedro
 
Webinar: Como explorar os recursos de aprendizagem da AWS
Webinar: Como explorar os recursos de aprendizagem da AWSWebinar: Como explorar os recursos de aprendizagem da AWS
Webinar: Como explorar os recursos de aprendizagem da AWSAmazon Web Services LATAM
 
Apresentação do Bluesoft ERP - Módulo Comercial
Apresentação do Bluesoft ERP - Módulo ComercialApresentação do Bluesoft ERP - Módulo Comercial
Apresentação do Bluesoft ERP - Módulo ComercialBluesoft
 
Processamento Assíncrono com PHP
Processamento Assíncrono com PHPProcessamento Assíncrono com PHP
Processamento Assíncrono com PHPFernando Fabricio
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAmazon Web Services LATAM
 

Destaque (14)

Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
 
Bluesoft - Sistema de Gestão - Apresentação Comercial
Bluesoft - Sistema de Gestão - Apresentação ComercialBluesoft - Sistema de Gestão - Apresentação Comercial
Bluesoft - Sistema de Gestão - Apresentação Comercial
 
Light Talk Docker Compose
Light Talk Docker ComposeLight Talk Docker Compose
Light Talk Docker Compose
 
Apresentação do Bluesoft ERP - Módulo Logístico
Apresentação do Bluesoft ERP - Módulo LogísticoApresentação do Bluesoft ERP - Módulo Logístico
Apresentação do Bluesoft ERP - Módulo Logístico
 
Apresentação do Bluesoft ERP - Módulo Contábil
Apresentação do Bluesoft ERP - Módulo ContábilApresentação do Bluesoft ERP - Módulo Contábil
Apresentação do Bluesoft ERP - Módulo Contábil
 
Apresentação do Bluesoft ERP - Módulo de Patrimônio
Apresentação do Bluesoft ERP - Módulo de PatrimônioApresentação do Bluesoft ERP - Módulo de Patrimônio
Apresentação do Bluesoft ERP - Módulo de Patrimônio
 
Apresentação do Bluesoft ERP - Módulo de CRM e DP
Apresentação do Bluesoft ERP - Módulo de CRM e DPApresentação do Bluesoft ERP - Módulo de CRM e DP
Apresentação do Bluesoft ERP - Módulo de CRM e DP
 
Ink saving - Imprimir melhor com menos tinta
Ink saving - Imprimir melhor com menos tintaInk saving - Imprimir melhor com menos tinta
Ink saving - Imprimir melhor com menos tinta
 
Webinar: Como explorar os recursos de aprendizagem da AWS
Webinar: Como explorar os recursos de aprendizagem da AWSWebinar: Como explorar os recursos de aprendizagem da AWS
Webinar: Como explorar os recursos de aprendizagem da AWS
 
Apresentação do Bluesoft ERP - Módulo Comercial
Apresentação do Bluesoft ERP - Módulo ComercialApresentação do Bluesoft ERP - Módulo Comercial
Apresentação do Bluesoft ERP - Módulo Comercial
 
Processamento Assíncrono com PHP
Processamento Assíncrono com PHPProcessamento Assíncrono com PHP
Processamento Assíncrono com PHP
 
Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
 

Semelhante a Orquestrando Docker Containers: Machine, Swarm e Compose

Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaMatheus Fidelis
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4David Ruiz
 
Introdução ao Docker
Introdução ao DockerIntrodução ao Docker
Introdução ao DockerGeorge Moura
 
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
 
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesWorkshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesRodrigo Cândido da Silva
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...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
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017Fabio Janiszevski
 
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
 
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
 

Semelhante a Orquestrando Docker Containers: Machine, Swarm e Compose (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 Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
Alagoas Dev Day
Alagoas Dev DayAlagoas Dev Day
Alagoas Dev Day
 
Introdução ao Docker
Introdução ao DockerIntrodução ao Docker
Introdução ao 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
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
 
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesWorkshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
 
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
PHP Experience 2016 - [Palestra] Vagrant, LXC, Docker, etc: Entenda as difere...
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
De 0 a DevOps
De 0 a DevOpsDe 0 a DevOps
De 0 a DevOps
 
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
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
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
 
Olá docker
Olá dockerOlá docker
Olá 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
 

Último

Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPaulo Pagliusi, PhD, CISM
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfInocencioHoracio3
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiPaulo Pagliusi, PhD, CISM
 
Convergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoConvergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoMarcio Venturelli
 
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx2m Assessoria
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASMarcio Venturelli
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Último (8)

Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo Pagliusi
 
Convergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoConvergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor Sucroenergético
 
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
 
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Orquestrando Docker Containers: Machine, Swarm e Compose

  • 1. Orquestrando Docker Containers Machine, Swarm e Compose Roberto G. Hashioka - @rhashioka – 2015-06-10 – São Paulo/SP!
  • 2. Informações Pessoais •  Roberto Gandolfo Hashioka •  @rogaha (Github) e @rhashioka (Twitter)! •  No Docker em Maio 2013 (Dotcloud)! •  Finanças -> Software Engineer! •  Projeto Atual: Docker Hub/Metrics!
  • 3. Objetivo da Apresentação •  Explicar o que é o Docker e como usá-lo •  Explicar o paradigma entre dev e ops! •  Explicar como rodar aplicações distribuidas em qualquer ambiente! •  Compartilhar experiências (Silicon Valley)!
  • 4. Informações dos Projetos •  Projetos no Github •  Docker – (github.com/docker/docker)! •  Docker Machine – (github.com/docker/machine)! •  Docker Swarm – (github.com/docker/swarm)! •  Docker Compose – (github.com/docker/compose)! Aplicações distribuidas com Docker são modularizadas, portáveis e dinâmicas
  • 5. O que é o Docker Engine? •  Ferramenta que facilita a construção, distribuição e execução de qualquer a plicação em qualquer ambiente (VM, nuvem, servidor fisico, laptop) •  Sua aplicação roda de forma isolada com seus próprios processos, IP e file system, independente do host. Ou seja, dentro de um container •  Construção: empacota sua aplicação numa imagem (docker build)! •  Distribuição: Move a imagem entre diferentes maquinas (docker push/pull)! •  Execução: Execute sua aplicação (docker run)!
  • 6. Contrução: docker build – Dockerfile •  Receita para criar uma imagem (container) •  Começa de uma base: FROM ubuntu:14.04, fedora:20, debian:jessie! •  Rode comandos: RUN apt-get install –y firefox ssh ! •  Copie seus dados: ADD /app/code /code/! •  Crie scripts de inicialização ou execute arquivos binários: CMD start_firefox .sh, /usr/sbin/sshd –D!
  • 7. Exemplo de Dockerfile -----------------------------------------------------------------------------------------------------------! FROM ubuntu:14.04! MAINTAINER Roberto Hashioka (roberto@docker.com)! RUN apt-get update && apt-get install -y nginx! RUN echo ’Hello Developers from Sao Paulo' > /usr/share/nginx/html/index.html! EXPOSE 80! ------------------------------------------------------------------------------------------------------------! $ docker build –t rogaha/web .! $ docker run –d –p 80:80 –-name container_web_demo_sp rogaha/web!
  • 8. Distribuição: docker pull / push •  Transfere sua aplicação dockerzizada de um servidor para outro •  Registry Hub: Repositório central de imagens criadas pela comunidade! •  O objetivo principal do Registry Hub é facilitar a criação de aplicações ! •  Milhares de images foram criadas e são mantidas pela comunidade. Por exemplo: nginx, ubuntu, postgres, redis, node, centos, wordpress, java (htt ps://registry.hub.docker.com/repos/library/)!
  • 9. Execução: docker run •  Roda as aplicações de forma consistente e confiável •  Elimina os problemas de diferenças entre versionamento das dependências! •  Os containers rodam de forma isolada. Você pode rodar aplicações em De bian, Ubuntu, CentOS na mesmo servidor/laptop! •  Se funciona no seu laptop, irá funcionar no servidor! •  RESOLVE grande parte dos problemas entre DEV e OPS!
  • 10. Estatíticas da comunidade Docker •  > 950 Contribuidores no Github •  > 80.000 Projetos dockerized no Github •  > 140.000 Repositórios no Docker Hub! •  > 48.000 membros no Meetup.com, > 150 cidades, > 50 países! •  > 400.000.000 images do docker baixadas (docker pull)!
  • 11. Docker Machine: Zero to Docker em minutos Antes • Várias etapas de setup! • Conecta a apenas um host! • Instalação e configuração para aquele host específico! Depois • Um comando de setup! • Provisiona o Docker Engine em qualquer host! • Integrações para criar hosts com o docker nas nuvens !
  • 14. Docker Swarm: Otimize recursos, Tolerância a falhas e alta disponibilidade Antes • Sem solução nativa! • Cada Docker Engine é independente entre si! ! Depois • Cluster de Docker Engines como se fosse um só! • Interface única de dev.! • Swarm dimensiona seu app! • Agendamento nativa das app! • Integração com outros agendadores !
  • 17. Docker Swarm $ docker run Batteries included but swappable
  • 18. Docker Compose: Simplifica Aplicações multi- container Antes • Simples aplicações individuais em containers! • Sem solução nativa para aplicações multi-containers! • Ineficiente: Precisa repetir commandos para cada container! ! Depois • Único arquivo .yml que define sua aplicação inteira! • Rode sua aplicação completa com um único comando! • Atualize facilmente sua aplicação com o arquivo .yml! !
  • 19. Docker Compose containers: web: build: . command: python app.py ports: - "5000:5000" volumes: - .:/code links: - redis environment: - PYTHONUNBUFFERED=1 redis: image: redis:latest command: redis-server --appendonly yes
  • 22. A Docker Distributed Application $ dockerHappy Devs Ops Flexibility Web x8 Cache x2Database x2
  • 23. Ecosistema de Gestão de Containers Infrastructure Clustering and Scheduling Service Discovery
  • 24. Docker Hub Promo code: docker-sp-meetup https://registry.hub.docker.com/plans/micro @rhashioka