SlideShare uma empresa Scribd logo
1 de 29
everywher
e
Luiz Carlos Faria
#solutionArchitect #softwareArchitect
#developer
Innovation & Offer na
MTAC (2017)
@luizcarlosfaria
luizcarlosfaria.net
t.me/luizcarlosfaria
• A vida do Docker, de onde vem, o que come?
• O que é Docker?
• Principais Conceitos
• Pra que serve?
• Por que docker é incrível?
• Hands-on
• MongoDB #infra #dev
• MySQL #infra #dev
• Nginx #infra
• NodeJS #dev
everywhere Agenda
Dúvidas?
• Antes da demo
• Depois da demo
Por que Docker é importante?
Como eu, com 14 anos no .NET caí de paraquedas no docker?
everywhere
Links relevantes:
https://www.microsoft.com/net/core
https://hub.docker.com/explore/
https://www.microsoft.com/en-us/sql-server/sql-server-2017
“Docker não é objetivo, docker é um meio
inteligente de entregar mais:
Mais exemplos, mais testes, mais
tecnologias, mais conhecimento.”
A vida do Docker, de onde vem, o que come?
O que é Docker?
Um facilitador que utiliza velhas features do Linux para criar
recursos independentes e gerenciáveis em um ecossitema
de colaborativo, escalável e rico.
A vida do Docker, de onde vem, o que come?
O que é Docker?
Facilitador:
A inovação está somente na plataforma. As
features de isolamento de processos e suas
demais capacidades são herdadas pelo projeto
LXC (Linux Containers).
Velhas features do Linux:
Cgroups, namespaces, copy-on-write (FS)
Containers já existiam, docker traz
o conceito de imagem!
A vida do Docker, de onde vem, o que come?
Principais conceitos
Dockerfile:
Script que determina todos os steps necessários
para a criação de uma imagem, desde a
instalação de pacotes, adição de arquivos e
configurações.
Imagens:
Resultado do build de um Dockerfile.
Containers:
Instâncias de uma imagem, executando
geralmente um único processo com:
• Seu próprio espaço de processos
• Sua própria interface de rede
• Seus próprios pacotes (dependencias do SO)
• Isolado dos demais containers
A vida do Docker, de onde vem, o que come?
Pra que serve o docker?
Aumentar densidade computacional de forma
eficiente e eficás, consolidando features do kernel do linux em
uma CLI consistente, e um rico ecossitema de suporte.
A vida do Docker, de onde vem, o que come?
Pra que serve o docker?
Eficiência – fazer certo as coisas
• Codificando minhas
dependências
• Codificando processos
• Automaticamente documentando
meus requisitos de infra
• Automatizando processos
• Aumentando o reaproveitamento
• Reduzindo falhas
Eficácia – fazer as coisas certas
• Empoderando o
desenvolvedor
• Desonerando a infraestrutura
• Sem perder controle
• Sem perder segurança
• Aumentando a rastreabilidade
• Reduzindo gargalos
• Melhorando a comunicação
• Consumindo melhor meus
recursos
A vida do Docker, de onde vem, o que come?
Pra que serve o docker?
Exemplos
Dev / infra (alternados)
A vida do Docker, de onde vem, o que come?
Pra que serve o docker? #densidade
Uma aplicação PHP + MySQL
Sem Docker
Servidor 1 – “Nome:DB” – MySQL
Servidor 2 e 3 – “Nome:APP1, APP2” -
PHP
Servidor 4 – “Nome:APP” LB (Proxy
Reverso)
Com Docker
Servidor 1 –
Container – PHP
Container – MYSQL
Servidor 2 –
Container PHP
LB – Nativo!
docke-compose.yml
A vida do Docker, de onde vem, o que come?
Pra que serve o docker? #diversidade
ASP.NET Core
SQL Server
docker-compose.yml
version:"3"
services:
web:
build:.
ports:
- "8000:80"
depends_on:
- db
db:
image:"microsoft/mssql-server-linux"
environment:
SA_PASSWORD:"your_password"
ACCEPT_EULA:"Y"
https://docs.docker.com/compose/aspnet-mssql-compose/
A vida do Docker, de onde vem, o que come?
Pra que serve o docker? #infra
Imagens interessantes (hub.docker.com)
LB & HA
hub.docker.com/_/haproxy/
hub.docker.com/_/nginx/
hub.docker.com/_/traefik/
Log
hub.docker.com/r/graylog2/server/
hub.docker.com/r/grafana/grafana/
hub.docker.com/_/sentry/
Monitoramento
hub.docker.com/r/datadog/docker-dd-agent/
www.zabbix.org/wiki/Dockerized_Zabbix/
A vida do Docker, de onde vem, o que come?
Pra que serve o docker? #diversidade
Django
PostgreSQL
docker-compose.yml
version:'3'
services:
db:
image:postgres
web:
build:.
command:python3manage.pyrunserver0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
https://docs.docker.com/compose/django/
A vida do Docker, de onde vem, o que come?
Pra que serve o docker? #infra
Imagens interessantes (hub.docker.com)
SQL DB’s
hub.docker.com/_/mysql/
hub.docker.com/_/postgres/
hub.docker.com/r/microsoft/mssql-server-linux/
NoSQL
hub.docker.com/_/mongo/
hub.docker.com/_/redis/
hub.docker.com/_/elasticsearch/
hub.docker.com/_/rethinkdb/
ALM & Suporte
hub.docker.com/_/jenkins/
hub.docker.com/r/gitlab/gitlab-ce/
hub.docker.com/r/gocd/gocd-server/
hub.docker.com/_/sonarqube/
A vida do Docker, de onde vem, o que come?
Pra que serve o docker? #diversidade
NodeJS
MongoDB
docker-compose.yml
version: '3'
services:
gen_test_app-api:
image:gen_test_app-api
depends_on:
-mongo
networks:
-gen_test_app-net
ports:
-"3000:3000"
environment:
mongodb_app: mongodb://root:e8e1f0@mongo:27017/admin
api_port: 3000
mongo:
image:mongo
networks:
-gen_test_app-net
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: e8e1f0
networks:
gen_test_app-net:
driver:bridge
https://docs.docker.com/compose/aspnet-mssql-compose/
A vida do Docker, de onde vem, o que come?
Pra que serve o docker? #infra
Imagens interessantes (hub.docker.com)
Java
hub.docker.com/_/java/
hub.docker.com/_/maven/
hub.docker.com/r/oracle/openjdk
/
hub.docker.com/_/openjdk/
hub.docker.com/r/oracle/glassfis
h/
hub.docker.com/_/tomcat/
MQ
hub.docker.com/_/rabbitmq/
hub.docker.com/r/webcenter/activemq/
A vida do Docker, de onde vem, o que come?
Pra que serve o docker?
#1 usar imagens prontas (hub.docker.com)
#2 criar imagens
#3 publicar imagens
#3 implantar containers em qualquer servidor(*)
#4 mover containers entre servidores de distribuições diferentes
(*) Respeitando arquitetura do SO (Linux/x86_64, Linux/armv7l, Windows/x86_64)
https://github.com/luizcarlosfaria/kb/wiki/Docker-no-Windows-vs-Docker-no-Linux
Preciso instalar
esse pacote, eu
esqueci de colocar
no documento.
Por que docker é incrível?
Imagens nascem no build do
desenvolvedor
Imagens são imutáveis
Uma imagem é portável
A imagem que saiu de desenvolvimento chegará em produção sem modificação.
Na minha máquina
funciona
Não tenho tempo
de instalar isso pra
você
Não tenho
hardware
disponível
para você
testar isso.
Cria um
manual de
instalação
disso.
Vou levar 2
semanas para subir
esse ambiente
todo.Não tenho como saber
se vai funcionar com a
nova versão do
produto xpto
A instalação da
aplicação XPTO1
fez a minha
aplicação parar.
Ih, você está usando uma
versão diferente da que
temos no servidor. Tenho
de criar uma nova
máquina para você.
Por que docker é incrível?
As imagens podem conter todas as
dependências de uma distribuição
linux
• Debian
• Alpine
• Fedora
• Centos
• Ubuntu
Docker roda em qualquer cloud
Amazon
Azure
Bluemix
Digital Ocean
...
E qualquer cloud que ofereça suporte à criação de
uma máquina virtual
Dúvidas ?
Não está ao vivo, tire dúvidas em t.me/arquiteturadotnet
#Demo1
MongoDB
Assista mais vídeos em luizcarlosfaria.net/docker
#Demo1
Dúvidas ?
Não está ao vivo, tire dúvidas em t.me/arquiteturadotnet
#Demo2
NodeJS
Assista mais vídeos em luizcarlosfaria.net/docker
#Demo2
Dúvidas ?
Não está ao vivo, tire dúvidas em t.me/arquiteturadotnet
#Demo3
Jenkins
Assista mais vídeos em luizcarlosfaria.net/docker
#Demo3
Dúvidas ?
Não está ao vivo, tire dúvidas em t.me/arquiteturadotnet
Dúvidas ?
Não está ao vivo, tire dúvidas em t.me/arquiteturadotnet
Obrigado!

Mais conteúdo relacionado

Mais procurados

Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...Giovanni Bassi
 
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
 
Um mergulho nos containers windows
Um mergulho nos containers windowsUm mergulho nos containers windows
Um mergulho nos containers windowsGiovanni Bassi
 
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
 
Monitoramento de containers Docker
Monitoramento de containers DockerMonitoramento de containers Docker
Monitoramento de containers DockerJosé Barbosa
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
TDCSP - 2018 - Possibilidades com o REDIS no Delphi
TDCSP - 2018 - Possibilidades com o REDIS no DelphiTDCSP - 2018 - Possibilidades com o REDIS no Delphi
TDCSP - 2018 - Possibilidades com o REDIS no DelphiMario Guedes
 
Backend na nuvem com docker
Backend na nuvem com dockerBackend na nuvem com docker
Backend na nuvem com dockerGiovanni Bassi
 
Conhecendo, explorando e usando azure container service
Conhecendo, explorando e usando azure container serviceConhecendo, explorando e usando azure container service
Conhecendo, explorando e usando azure container serviceGiovanni Bassi
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting dockerRafael Gomes
 
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
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureGiovanni Bassi
 
Introdução ao Docker - Linux Dev Br 2018
Introdução ao Docker - Linux Dev Br 2018Introdução ao Docker - Linux Dev Br 2018
Introdução ao Docker - Linux Dev Br 2018Fernando Luiz Cola
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerRafael Gomes
 
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 containerstdc-globalcode
 
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
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobileXamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobileakamud
 
Kubecon EU 2019 Remarks
Kubecon EU 2019 RemarksKubecon EU 2019 Remarks
Kubecon EU 2019 RemarksRicardo Katz
 
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
 

Mais procurados (20)

Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
 
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...
 
Um mergulho nos containers windows
Um mergulho nos containers windowsUm mergulho nos containers windows
Um mergulho nos containers windows
 
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
 
Monitoramento de containers Docker
Monitoramento de containers DockerMonitoramento de containers Docker
Monitoramento de containers Docker
 
Docker fundamentos
Docker fundamentosDocker fundamentos
Docker fundamentos
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
TDCSP - 2018 - Possibilidades com o REDIS no Delphi
TDCSP - 2018 - Possibilidades com o REDIS no DelphiTDCSP - 2018 - Possibilidades com o REDIS no Delphi
TDCSP - 2018 - Possibilidades com o REDIS no Delphi
 
Backend na nuvem com docker
Backend na nuvem com dockerBackend na nuvem com docker
Backend na nuvem com docker
 
Conhecendo, explorando e usando azure container service
Conhecendo, explorando e usando azure container serviceConhecendo, explorando e usando azure container service
Conhecendo, explorando e usando azure container service
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting 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
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e Azure
 
Introdução ao Docker - Linux Dev Br 2018
Introdução ao Docker - Linux Dev Br 2018Introdução ao Docker - Linux Dev Br 2018
Introdução ao Docker - Linux Dev Br 2018
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
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
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobileXamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
 
Kubecon EU 2019 Remarks
Kubecon EU 2019 RemarksKubecon EU 2019 Remarks
Kubecon EU 2019 Remarks
 
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
 

Semelhante a Docker Everywhere - MTAC Week

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
 
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-2018Renato Groff
 
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-2018Renato Groff
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoCarlos Smaniotto
 
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
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker BásicoAndré Justi
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)TechCobli
 
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 + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SPDocker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SPRenato Groffe
 
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SPDocker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SPRenato Groff
 
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
 
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 desenvolvimentoMarcela Carvalho
 
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020Renato Groff
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Renato Groff
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Renato Groff
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaRodrigo Marques Teixeira
 

Semelhante a Docker Everywhere - MTAC Week (20)

Desvendando o Docker
Desvendando o DockerDesvendando o Docker
Desvendando o 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
 
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
 
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
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualização
 
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
 
Docker
DockerDocker
Docker
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
 
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 + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SPDocker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
Docker + Azure - Global Azure Bootcamp 2018 - São Paulo-SP
 
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SPDocker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
Docker + Azure - Global Azure Bootcamp 2018 - Campinas-SP
 
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...
 
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: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020
Docker: visão geral, possibilidades e primeiros passos - UNIVAG - Junho-2020
 
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
Docker: primeiros passos - Semana FCI - Mackenzie - Outubro-2019
 
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
Docker: Conceitos e Primeiros Passos na utilização de Containers - Programand...
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
 

Docker Everywhere - MTAC Week

  • 2. Luiz Carlos Faria #solutionArchitect #softwareArchitect #developer Innovation & Offer na MTAC (2017) @luizcarlosfaria luizcarlosfaria.net t.me/luizcarlosfaria
  • 3. • A vida do Docker, de onde vem, o que come? • O que é Docker? • Principais Conceitos • Pra que serve? • Por que docker é incrível? • Hands-on • MongoDB #infra #dev • MySQL #infra #dev • Nginx #infra • NodeJS #dev everywhere Agenda Dúvidas? • Antes da demo • Depois da demo
  • 4. Por que Docker é importante? Como eu, com 14 anos no .NET caí de paraquedas no docker? everywhere Links relevantes: https://www.microsoft.com/net/core https://hub.docker.com/explore/ https://www.microsoft.com/en-us/sql-server/sql-server-2017 “Docker não é objetivo, docker é um meio inteligente de entregar mais: Mais exemplos, mais testes, mais tecnologias, mais conhecimento.”
  • 5. A vida do Docker, de onde vem, o que come? O que é Docker? Um facilitador que utiliza velhas features do Linux para criar recursos independentes e gerenciáveis em um ecossitema de colaborativo, escalável e rico.
  • 6. A vida do Docker, de onde vem, o que come? O que é Docker? Facilitador: A inovação está somente na plataforma. As features de isolamento de processos e suas demais capacidades são herdadas pelo projeto LXC (Linux Containers). Velhas features do Linux: Cgroups, namespaces, copy-on-write (FS) Containers já existiam, docker traz o conceito de imagem!
  • 7. A vida do Docker, de onde vem, o que come? Principais conceitos Dockerfile: Script que determina todos os steps necessários para a criação de uma imagem, desde a instalação de pacotes, adição de arquivos e configurações. Imagens: Resultado do build de um Dockerfile. Containers: Instâncias de uma imagem, executando geralmente um único processo com: • Seu próprio espaço de processos • Sua própria interface de rede • Seus próprios pacotes (dependencias do SO) • Isolado dos demais containers
  • 8. A vida do Docker, de onde vem, o que come? Pra que serve o docker? Aumentar densidade computacional de forma eficiente e eficás, consolidando features do kernel do linux em uma CLI consistente, e um rico ecossitema de suporte.
  • 9. A vida do Docker, de onde vem, o que come? Pra que serve o docker? Eficiência – fazer certo as coisas • Codificando minhas dependências • Codificando processos • Automaticamente documentando meus requisitos de infra • Automatizando processos • Aumentando o reaproveitamento • Reduzindo falhas Eficácia – fazer as coisas certas • Empoderando o desenvolvedor • Desonerando a infraestrutura • Sem perder controle • Sem perder segurança • Aumentando a rastreabilidade • Reduzindo gargalos • Melhorando a comunicação • Consumindo melhor meus recursos
  • 10. A vida do Docker, de onde vem, o que come? Pra que serve o docker? Exemplos Dev / infra (alternados)
  • 11. A vida do Docker, de onde vem, o que come? Pra que serve o docker? #densidade Uma aplicação PHP + MySQL Sem Docker Servidor 1 – “Nome:DB” – MySQL Servidor 2 e 3 – “Nome:APP1, APP2” - PHP Servidor 4 – “Nome:APP” LB (Proxy Reverso) Com Docker Servidor 1 – Container – PHP Container – MYSQL Servidor 2 – Container PHP LB – Nativo! docke-compose.yml
  • 12. A vida do Docker, de onde vem, o que come? Pra que serve o docker? #diversidade ASP.NET Core SQL Server docker-compose.yml version:"3" services: web: build:. ports: - "8000:80" depends_on: - db db: image:"microsoft/mssql-server-linux" environment: SA_PASSWORD:"your_password" ACCEPT_EULA:"Y" https://docs.docker.com/compose/aspnet-mssql-compose/
  • 13. A vida do Docker, de onde vem, o que come? Pra que serve o docker? #infra Imagens interessantes (hub.docker.com) LB & HA hub.docker.com/_/haproxy/ hub.docker.com/_/nginx/ hub.docker.com/_/traefik/ Log hub.docker.com/r/graylog2/server/ hub.docker.com/r/grafana/grafana/ hub.docker.com/_/sentry/ Monitoramento hub.docker.com/r/datadog/docker-dd-agent/ www.zabbix.org/wiki/Dockerized_Zabbix/
  • 14. A vida do Docker, de onde vem, o que come? Pra que serve o docker? #diversidade Django PostgreSQL docker-compose.yml version:'3' services: db: image:postgres web: build:. command:python3manage.pyrunserver0.0.0.0:8000 volumes: - .:/code ports: - "8000:8000" depends_on: - db https://docs.docker.com/compose/django/
  • 15. A vida do Docker, de onde vem, o que come? Pra que serve o docker? #infra Imagens interessantes (hub.docker.com) SQL DB’s hub.docker.com/_/mysql/ hub.docker.com/_/postgres/ hub.docker.com/r/microsoft/mssql-server-linux/ NoSQL hub.docker.com/_/mongo/ hub.docker.com/_/redis/ hub.docker.com/_/elasticsearch/ hub.docker.com/_/rethinkdb/ ALM & Suporte hub.docker.com/_/jenkins/ hub.docker.com/r/gitlab/gitlab-ce/ hub.docker.com/r/gocd/gocd-server/ hub.docker.com/_/sonarqube/
  • 16. A vida do Docker, de onde vem, o que come? Pra que serve o docker? #diversidade NodeJS MongoDB docker-compose.yml version: '3' services: gen_test_app-api: image:gen_test_app-api depends_on: -mongo networks: -gen_test_app-net ports: -"3000:3000" environment: mongodb_app: mongodb://root:e8e1f0@mongo:27017/admin api_port: 3000 mongo: image:mongo networks: -gen_test_app-net environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: e8e1f0 networks: gen_test_app-net: driver:bridge https://docs.docker.com/compose/aspnet-mssql-compose/
  • 17. A vida do Docker, de onde vem, o que come? Pra que serve o docker? #infra Imagens interessantes (hub.docker.com) Java hub.docker.com/_/java/ hub.docker.com/_/maven/ hub.docker.com/r/oracle/openjdk / hub.docker.com/_/openjdk/ hub.docker.com/r/oracle/glassfis h/ hub.docker.com/_/tomcat/ MQ hub.docker.com/_/rabbitmq/ hub.docker.com/r/webcenter/activemq/
  • 18. A vida do Docker, de onde vem, o que come? Pra que serve o docker? #1 usar imagens prontas (hub.docker.com) #2 criar imagens #3 publicar imagens #3 implantar containers em qualquer servidor(*) #4 mover containers entre servidores de distribuições diferentes (*) Respeitando arquitetura do SO (Linux/x86_64, Linux/armv7l, Windows/x86_64) https://github.com/luizcarlosfaria/kb/wiki/Docker-no-Windows-vs-Docker-no-Linux
  • 19. Preciso instalar esse pacote, eu esqueci de colocar no documento. Por que docker é incrível? Imagens nascem no build do desenvolvedor Imagens são imutáveis Uma imagem é portável A imagem que saiu de desenvolvimento chegará em produção sem modificação. Na minha máquina funciona Não tenho tempo de instalar isso pra você Não tenho hardware disponível para você testar isso. Cria um manual de instalação disso. Vou levar 2 semanas para subir esse ambiente todo.Não tenho como saber se vai funcionar com a nova versão do produto xpto A instalação da aplicação XPTO1 fez a minha aplicação parar. Ih, você está usando uma versão diferente da que temos no servidor. Tenho de criar uma nova máquina para você.
  • 20. Por que docker é incrível? As imagens podem conter todas as dependências de uma distribuição linux • Debian • Alpine • Fedora • Centos • Ubuntu Docker roda em qualquer cloud Amazon Azure Bluemix Digital Ocean ... E qualquer cloud que ofereça suporte à criação de uma máquina virtual
  • 21. Dúvidas ? Não está ao vivo, tire dúvidas em t.me/arquiteturadotnet
  • 22. #Demo1 MongoDB Assista mais vídeos em luizcarlosfaria.net/docker
  • 23. #Demo1 Dúvidas ? Não está ao vivo, tire dúvidas em t.me/arquiteturadotnet
  • 24. #Demo2 NodeJS Assista mais vídeos em luizcarlosfaria.net/docker
  • 25. #Demo2 Dúvidas ? Não está ao vivo, tire dúvidas em t.me/arquiteturadotnet
  • 26. #Demo3 Jenkins Assista mais vídeos em luizcarlosfaria.net/docker
  • 27. #Demo3 Dúvidas ? Não está ao vivo, tire dúvidas em t.me/arquiteturadotnet
  • 28. Dúvidas ? Não está ao vivo, tire dúvidas em t.me/arquiteturadotnet

Notas do Editor

  1. "A eficiência consiste em fazer certo as coisas: geralmente está ligada ao nível operacional, como realizar as operações com menos recursos – menos tempo, menor orçamento, menos pessoas, menos matéria-prima, etc…" "Já a eficácia consiste em fazer as coisas certas: geralmente está relacionada ao nível gerencial".
  2. "A eficiência consiste em fazer certo as coisas: geralmente está ligada ao nível operacional, como realizar as operações com menos recursos – menos tempo, menor orçamento, menos pessoas, menos matéria-prima, etc…" "Já a eficácia consiste em fazer as coisas certas: geralmente está relacionada ao nível gerencial".
  3. "A eficiência consiste em fazer certo as coisas: geralmente está ligada ao nível operacional, como realizar as operações com menos recursos – menos tempo, menor orçamento, menos pessoas, menos matéria-prima, etc…" "Já a eficácia consiste em fazer as coisas certas: geralmente está relacionada ao nível gerencial".