SlideShare uma empresa Scribd logo
1 de 17
Docker
Sistemas Distribuídos – Profº.: Romulo Fagundes
Componentes: Mauricio Martins, Rodrigo Emerenciano
e Wilson Vieira
O que é o Docker?
● O Docker são containers que permitem
empacotar aplicativos ou trechos de
códigos, em um sistema de arquivos
completo, que contém tudo o que é
necessário para execução. Garantido sua
autenticidade.
Características
● Leve:
– Compartilhamento do kernel do S.O. e uso mais
eficiente da memória RAM.
● Aberto (Open Source):
– Sistema disponível nas principais distribuições:
● Mac OS, Linux e Windows.
● Seguro:
– Os containers isolam as aplicações, umas das
outras e de sua infra-estrutura, com uma camada
adicional de proteção.
Diferenças entre VM e Containers
Máquinas Virtuais Containers
Diferenças entre VM e Containers
● Máquina virtual: inclui aplicações, binários e
bibliotecas necessárias a um sistema
operacional específico.
● Container: inclui aplicações e todas as suas
dependências mais compartilham o mesmo
kernel, com os outros containers. Sem vínculo
com infra-estruturas específicas, sendo
possível ser executado em qualquer
computador.
Para quê Docker?
● Reduzir o custo da infraestrutura, com
número menor de máquinas físicas,
● Agilizar o deploy das suas aplicações.
Criando um Docker container
Exemplo:
● Necessário primeiro saber o que se deseja:
– docker search ubuntu
● Para baixar imagem oficial docker HUB, do ubuntu 14.10:
– docker pull repositorio/ubuntu:14.10
● Para iniciar o container a partir da imagem adquirida:
– docker run -it ubuntu:14.10
● Para encerrar o container: Ctrl+D
● Para somente sair sem encerrar: Ctrl+P+Q
Principais Comandos
● Listar containers : docker ps
● Listar imagens: docker images
● Para voltar ao container: docker attach <ID
CONTAINER>
● Para saber as modificações que foram realizadas
no container: docker diff <ID CONTAINER>
● Para finalizar ou parar um container : docker
stop <ID CONTAINER>
Principais Comandos
(cont.)
● Remover um ou mais containers:
docker rm <ID CONTAINER>
● Remover uma ou mais imagens:
docker rmi <ID CONTAINER>
Fluxo de trabalho Típico
Dockerfile
● É composto pelo conjunto de instruções que descreve
passos para a construção de uma imagem Docker:
– Qual imagem base usada para o novo container
– Quais os próximos passos a serem tomados para instalar
várias dependências e aplicações.
– Quais arquivos necessários para serem apresentados na
imagem, e como serão disponibilizadas no container
– Que portas serão expostas
– Que comando deve rodar quando um container em sua
inicialização.
Dockerfile (instruções)
RUN Executa um comando Linux para configuração e
instalação
ENTRYPOINT O roteiro final ou aplicativo usado para
inicialização do container, fazendo-o um
aplicativo executável
CMD Fornece argumentos ao ENTRYPOINT
LABEL Metadados nome/valor sobre a imagem
ENV Configura variáveis de ambiente
COPY Copia arquivos no container
ADD Alternativa ao Copy
WORKDIR Seleciona diretório de trabalho para instruções
RUN, CMD, ENTRYPOINT, COPY, ou ADD
EXPOSE Portas do container serão expostas
VOLUME Cria um ponto de montagem
USER Usuário para rodar o RUN, CMD ou instruções
ENTRYPOINT
Dockerfile
Para construir a imagem, é necessário
apenas estar com o arquivo Dockerfile no
diretório:
● Exemplo:
– docker build -t
repositório/nomedaimagem:versão .
Repositório Docker HUB
https://hub.docker.com
Docker HUB
Enviando imagem para repositório
(exemplo):
● docker commit <ID container>
docker.io/nomedeusuário/nomedaimagem
● docker login
● docker push
docker.io/nomedeusuário/nomedaimagem
Referências
● https://hub.docker.com/
● http://www.docker.com/
● http://docs.docker.com/linux/started/
● https://github.com/JBoss-Dockerfiles/wildfly
● https://hub.docker.com/r/jboss/wildfly/~/dockerfile/
● http://crosbymichael.com/dockerfile-best-
practices.html
● https://docs.docker.com/articles/dockerfile_best-
practices/
●
Referências
Treinamentos:
● https://training.docker.com/self-paced-training
● https://training.docker.com/

Mais conteúdo relacionado

Mais procurados

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
 
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
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Renato Groff
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017Fabio Janiszevski
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerWaldemar Neto
 
Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerLuís Bianchin
 
São paulo docker meetup #2
São paulo docker meetup #2São paulo docker meetup #2
São paulo docker meetup #2Azuki
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerWellington Silva
 

Mais procurados (20)

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
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
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
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Docker
DockerDocker
Docker
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Docker compose
Docker composeDocker compose
Docker compose
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e Docker
 
Oficina docker
Oficina dockerOficina docker
Oficina docker
 
Verdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre DockerVerdades que não querem te contar sobre Docker
Verdades que não querem te contar sobre Docker
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 
São paulo docker meetup #2
São paulo docker meetup #2São paulo docker meetup #2
São paulo docker meetup #2
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 

Semelhante a O que é Docker? Containers leves para aplicações

Semelhante a O que é Docker? Containers leves para aplicações (20)

Olá docker
Olá dockerOlá docker
Olá docker
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Docker
DockerDocker
Docker
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Aulão de docker
Aulão de dockerAulão de docker
Aulão de docker
 
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
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
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
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
 
Docker - Básico
Docker - BásicoDocker - Básico
Docker - Básico
 
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
 
Orquestração de containers com Rancher
Orquestração de containers com RancherOrquestração de containers com Rancher
Orquestração de containers com Rancher
 
Docker
DockerDocker
Docker
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
 
Docker
Docker Docker
Docker
 
Docker basicão e sem mistérios
Docker basicão e sem mistériosDocker basicão e sem mistérios
Docker basicão e sem mistérios
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 

O que é Docker? Containers leves para aplicações

  • 1. Docker Sistemas Distribuídos – Profº.: Romulo Fagundes Componentes: Mauricio Martins, Rodrigo Emerenciano e Wilson Vieira
  • 2. O que é o Docker? ● O Docker são containers que permitem empacotar aplicativos ou trechos de códigos, em um sistema de arquivos completo, que contém tudo o que é necessário para execução. Garantido sua autenticidade.
  • 3. Características ● Leve: – Compartilhamento do kernel do S.O. e uso mais eficiente da memória RAM. ● Aberto (Open Source): – Sistema disponível nas principais distribuições: ● Mac OS, Linux e Windows. ● Seguro: – Os containers isolam as aplicações, umas das outras e de sua infra-estrutura, com uma camada adicional de proteção.
  • 4. Diferenças entre VM e Containers Máquinas Virtuais Containers
  • 5. Diferenças entre VM e Containers ● Máquina virtual: inclui aplicações, binários e bibliotecas necessárias a um sistema operacional específico. ● Container: inclui aplicações e todas as suas dependências mais compartilham o mesmo kernel, com os outros containers. Sem vínculo com infra-estruturas específicas, sendo possível ser executado em qualquer computador.
  • 6. Para quê Docker? ● Reduzir o custo da infraestrutura, com número menor de máquinas físicas, ● Agilizar o deploy das suas aplicações.
  • 7. Criando um Docker container Exemplo: ● Necessário primeiro saber o que se deseja: – docker search ubuntu ● Para baixar imagem oficial docker HUB, do ubuntu 14.10: – docker pull repositorio/ubuntu:14.10 ● Para iniciar o container a partir da imagem adquirida: – docker run -it ubuntu:14.10 ● Para encerrar o container: Ctrl+D ● Para somente sair sem encerrar: Ctrl+P+Q
  • 8. Principais Comandos ● Listar containers : docker ps ● Listar imagens: docker images ● Para voltar ao container: docker attach <ID CONTAINER> ● Para saber as modificações que foram realizadas no container: docker diff <ID CONTAINER> ● Para finalizar ou parar um container : docker stop <ID CONTAINER>
  • 9. Principais Comandos (cont.) ● Remover um ou mais containers: docker rm <ID CONTAINER> ● Remover uma ou mais imagens: docker rmi <ID CONTAINER>
  • 10. Fluxo de trabalho Típico
  • 11. Dockerfile ● É composto pelo conjunto de instruções que descreve passos para a construção de uma imagem Docker: – Qual imagem base usada para o novo container – Quais os próximos passos a serem tomados para instalar várias dependências e aplicações. – Quais arquivos necessários para serem apresentados na imagem, e como serão disponibilizadas no container – Que portas serão expostas – Que comando deve rodar quando um container em sua inicialização.
  • 12. Dockerfile (instruções) RUN Executa um comando Linux para configuração e instalação ENTRYPOINT O roteiro final ou aplicativo usado para inicialização do container, fazendo-o um aplicativo executável CMD Fornece argumentos ao ENTRYPOINT LABEL Metadados nome/valor sobre a imagem ENV Configura variáveis de ambiente COPY Copia arquivos no container ADD Alternativa ao Copy WORKDIR Seleciona diretório de trabalho para instruções RUN, CMD, ENTRYPOINT, COPY, ou ADD EXPOSE Portas do container serão expostas VOLUME Cria um ponto de montagem USER Usuário para rodar o RUN, CMD ou instruções ENTRYPOINT
  • 13. Dockerfile Para construir a imagem, é necessário apenas estar com o arquivo Dockerfile no diretório: ● Exemplo: – docker build -t repositório/nomedaimagem:versão .
  • 15. Docker HUB Enviando imagem para repositório (exemplo): ● docker commit <ID container> docker.io/nomedeusuário/nomedaimagem ● docker login ● docker push docker.io/nomedeusuário/nomedaimagem
  • 16. Referências ● https://hub.docker.com/ ● http://www.docker.com/ ● http://docs.docker.com/linux/started/ ● https://github.com/JBoss-Dockerfiles/wildfly ● https://hub.docker.com/r/jboss/wildfly/~/dockerfile/ ● http://crosbymichael.com/dockerfile-best- practices.html ● https://docs.docker.com/articles/dockerfile_best- practices/ ●