SlideShare a Scribd company logo
1 of 17
Download to read offline
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/

More Related Content

What's hot

Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker BásicoAndré Justi
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기raccoony
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAditya Konarde
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetesKrishna-Kumar
 
Introduction to Docker storage, volume and image
Introduction to Docker storage, volume and imageIntroduction to Docker storage, volume and image
Introduction to Docker storage, volume and imageejlp12
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionPeng Xiao
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
 
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Gerardo Di Iorio
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker, Inc.
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
 
Docker introduction &amp; benefits
Docker introduction &amp; benefitsDocker introduction &amp; benefits
Docker introduction &amp; benefitsAmit Manwade
 

What's hot (20)

Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 
Introduction to Docker storage, volume and image
Introduction to Docker storage, volume and imageIntroduction to Docker storage, volume and image
Introduction to Docker storage, volume and image
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
Introduction a Flutter
Introduction a FlutterIntroduction a Flutter
Introduction a Flutter
 
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
Introduzione a Docker
Introduzione a DockerIntroduzione a Docker
Introduzione a Docker
 
Docker introduction &amp; benefits
Docker introduction &amp; benefitsDocker introduction &amp; benefits
Docker introduction &amp; benefits
 

Viewers also liked

Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engineHudson Brendon
 
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
 
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
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerWaldemar Neto
 
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
 
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
 
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
 

Viewers also liked (12)

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
 
Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engine
 
Docker
DockerDocker
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
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)
 
Desenvolvendo com PHP e Docker
Desenvolvendo com PHP e DockerDesenvolvendo com PHP e Docker
Desenvolvendo com PHP e 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: 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
 
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
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 

Similar to Apresentacao docker

Similar to Apresentacao docker (20)

Olá docker
Olá dockerOlá docker
Olá docker
 
Oficina docker
Oficina dockerOficina docker
Oficina docker
 
Docker
DockerDocker
Docker
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 
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
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
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
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
 
Introdução à plataforma Docker
Introdução à plataforma DockerIntrodução à plataforma Docker
Introdução à plataforma Docker
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
 

Apresentacao docker

  • 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/ ●