SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Docker
Porquê? O quê? Como?
Por que usar Docker?
+1M
novos desenvolvedores
em 2017
Fonte: DockerCon 2018 Keynote e Docker.com
+2M 80B
aplicações
conteinerizadas no Hub
de downloads de
containers
Alguns dos benefícios
● Flexibilidade
● Eficiência
● Rapidez
● Portabilidade
● Reprodutibilidade
● Escalabilidade
● ...
DEV? CI?
Também.
● Independência
● Consistência
● Confiança
● Ecosistema
● ...
KEEP
CALM
IT WORKS
ON MY
MACHINE
O que é o Docker?
Transporte de mercadorias no início do século XX
90% do comércio
global via +700
milhões de
containers por ano
● Padronização
● Portabilidade
● Segurança
● Facilidade
● Rapidez
Fonte: The History of the shipping container
Analogia com o desenvolvimento de software...
?
Build, Ship and Run
any App, Anywhere.
Conteinerização
Formalmente chamado de virtualização a nível de sistema operacional.
O kernel permite a existência de múltiplas instâncias isoladas do espaço de
usuário. Cada instância é comumente chamada de container.
Máquinas Virtuais vs Containers
Bins/Libs Bins/Libs Bins/Libs
Host OS
Hardware
Container Engine
App A App B App C
Container
Bins/Libs Bins/Libs Bins/Libs
Hardware
Hypervisor
App A App B App C
Guest OS Guest OS Guest OS
VM
Principais Conceitos
Imagem
● Templates para criação de containers (receita de bolo)
● Somente leitura
$ docker image [COMMAND]
Imagem
● É formada por
camadas
● Camada gravável
Dockerfile
Arquivo de texto com
instruções declarativas
para a construção da imagens.
FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY . .
RUN dotnet publish -c Release -o /build
FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
RUN mkdir /logs
COPY --from=build /build .
EXPOSE 80
ENTRYPOINT ["dotnet", "Web.Api.dll"]
Registry
● Aplicação server-side para armazenar e distribuir as imagens.
● Docker Hub, Azure Container Registries, Amazon ECR, Gitlab Registry S2IT
$ docker image push [OPTIONS]
$ docker image pull [OPTIONS]
Docker Hub e Docker Store
● Docker Hub
○ Registry gratuito de imagens na nuvem.
○ Permite integração com repositórios para build automático.
○ “GITHUB” para Docker (comunidade)
● Docker Store
○ Conteúdo verificado
○ Imagens submetidas para aprovação
○ Parceiros (Microsoft, Redhat, Oracle, MySql)
Container
Container é o nome dado para a segregação de processos no mesmo kernel,
de forma que o processo seja isolado o máximo possível de todo o resto do
ambiente.
$ docker container [OPTIONS]
Docker Compose
O Docker Compose é uma ferramenta para definir e gerenciar aplicações
docker com múltiplos containers. Neste contexto os containers são chamados
de serviços.
$ docker-compose [OPTIONS]
Como posso começar?
HANDS
ON
Dicas / Problemas Comuns
Dicas / Possíveis Problemas
● Execução pelo Visual Studio vs Docker-compose
● Execução no windows com comandos não suportados
● Docker-compose não reconhecido no Docker for Windows (versão >
17.12)
● Otimização (multi-Stage build, RUN … &&, etc)
Obrigado!
Contato:
Invillia
gabriel.araujo@s2it.com.br
milton.rodrigues@s2it.com.br

Mais conteúdo relacionado

Mais procurados

Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Marcel Cattaneo
 
[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
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)TechCobli
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker ContainersHugo Henley
 
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...Renato Groff
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers DockerMatheus Fidelis
 
Estaleiro o uso de kubernetes no serpro
Estaleiro   o uso de kubernetes no serproEstaleiro   o uso de kubernetes no serpro
Estaleiro o uso de kubernetes no serproRicardo Katz
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...tdc-globalcode
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Marcel Cattaneo
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerWaldemar Neto
 
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
 
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
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting dockerRafael Gomes
 
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
 

Mais procurados (20)

Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
 
Iniciando com kubernetes
Iniciando com kubernetesIniciando com kubernetes
Iniciando com kubernetes
 
[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
 
iBeer: Docker
iBeer: DockeriBeer: Docker
iBeer: Docker
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
Docker + Kubernetes: Orquestrando containers e escalando rapidamente suas apl...
 
Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
Docker e vagrant para mortais
Docker e vagrant para mortaisDocker e vagrant para mortais
Docker e vagrant para mortais
 
Estaleiro o uso de kubernetes no serpro
Estaleiro   o uso de kubernetes no serproEstaleiro   o uso de kubernetes no serpro
Estaleiro o uso de kubernetes no serpro
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e 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
 
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
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimento
 

Semelhante a O que é Docker: Introdução à Conteinerização de Aplicações

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
 
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
 
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
 
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
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
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
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesWillian Azevedo
 
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
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!Evandro Couto
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 
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
 
Api com sql server em container
Api com sql server em containerApi com sql server em container
Api com sql server em containerThaise Dantas
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Renato Groff
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4David Ruiz
 

Semelhante a O que é Docker: Introdução à Conteinerização de Aplicações (20)

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
 
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
 
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
 
Olá docker
Olá dockerOlá docker
Olá 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
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
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...
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e Kubernetes
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 
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
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
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
 
Api com sql server em container
Api com sql server em containerApi com sql server em container
Api com sql server em container
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 

O que é Docker: Introdução à Conteinerização de Aplicações