SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Introdu¸c˜ao ao Docker
O que ´e e porque devo utilizar?
Thiago Almeida thiagoalmeida@ufpa.br
August 31, 2015
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 1/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Pr´e requisitos e Objetivos
Docker
Nenhuma experiˆencia anterior com Docker ser´a
necess´aria.
LINUX
Familiaridade com alguma distribui¸c˜ao Linux
Familiaridade com terminal e linhas de comando.
Objetivos
Entender a estrutura da plataforma Docker.
Conhecer os componentes da plataforma Docker.
Imagens
Contˆeineres
Reposit´orios
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 2/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Agenda
T´opicos abordados
Principais pontos
O que ´e Docker?
Contˆeineres vs M´aquinas Virtuais
Visualiza¸c˜ao sobre a plataforma Docker
Docker Engine
Imagens
Contˆeineres
Registro
Reposit´orios
Introdu¸c˜ao `as Imagens
Iniciando com contˆeineres
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 3/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
O que ´e Docker?
Defini¸c˜ao
Docker ´e uma plataforma para desenvolvimento, envio e
execu¸c˜ao de aplica¸c˜oes utilizando virtualiza¸c˜ao baseada em
contˆeiner. A plataforma Docker ´e composta por algumas
ferramentas e produtos, s˜ao eles:
Docker Engine
Docker Hub
Docker Machine
Docker Swarm
Docker Compose
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 4/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Contˆeineres vs M´aquinas Virtuais
Um pouco de hist´oria
Servidores reais
Antigamente n´os utiliz´avamos um servidor para uma ´unica
aplica¸c˜ao.
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 5/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Contˆeineres vs M´aquinas Virtuais
Um pouco de hist´oria
Problemas que isso causava
Gastava muito tempo no deploy
Alto custo
Desperd´ıcio de recursos
Dif´ıcil para escalar
Dif´ıcil para migrar
Dependˆencia do fabricante
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 6/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Contˆeineres vs M´aquinas Virtuais
Um pouco de hist´oria
Virtualiza¸c˜ao baseada em Hypervisor
Um servidor f´ısico pode conter v´arias aplica¸c˜oes
Cada aplica¸c˜ao roda em uma m´aquina virtual (VM)
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 7/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Contˆeineres vs M´aquinas Virtuais
Um pouco de hist´oria
Vantagens da m´aquina virtual
Melhor aproveitamento dos recursos
Um servidor f´ısico dividido em v´arias m´aquinas virtuais
F´acil de escalar
Limita¸c˜oes da m´aquina virtual
Cada m´aquina virtual requer:
CPU alocada
Armazenamento
Mem´oria RAM
Um sistema operacional inteiro
Quanto mais VMs vocˆe roda, mais recursos vocˆe precisa
Um sistema operacional num guest ´e um desperd´ıcio
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 8/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Contˆeineres vs M´aquinas Virtuais
Introdu¸c˜ao aos contˆeineres
O que s˜ao?
Virtualiza¸c˜ao baseada em contˆeiner usa o kernel do sistema
operacional do host para executar m´ultiplas instˆancias
Cada guest ´e chamado de contˆeiner
Cada contˆeiner possui:
Sistema de arquivos raiz
Processos
Mem´oria
Dispositivos
Pilha de rede
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 9/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Contˆeineres vs M´aquinas Virtuais
Contˆeiner
Visualizando um contˆeiner
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 10/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Contˆeineres vs M´aquinas Virtuais
Contˆeiner vs VM
Vantagens do contˆeiner
Contˆeiner ´e mais leve
N˜ao precisa instalar um SO inteiro
Requer menos CPU, RAM e armazenamento
Um servidor pode rodar mais contˆeineres do que VMs
Maior portabilidade
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 11/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Contˆeineres vs M´aquinas Virtuais
Visualizando as diferen¸cas
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 12/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Docker Engine
O que ´e?
Docker Engine ´e o programa que possibilita os
contˆeineres serem feitos, enviados e executados.
Docker Engine utiliza namespaces e cgroups do Kernel
Linux.
Namespaces nos permitem isolar os contˆeineres nos seus
pr´oprios ambientes.
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 13/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Composi¸c˜ao do Docker Engine
Docker Client e Daemon
Possui a arquitetura Cliente/Servidor
O cliente pega as entradas do usu´ario e `as envia pro
Daemon
O Daemon monta, executa e distribui os contˆeineres.
Cliente e Daemon podem rodar no mesmo host ou em
hosts diferentes.
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 14/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Docker Contˆeineres e Imagens
Imagens
Template somente leitura utilizado para criar contˆeineres
Feita por vocˆe mesmo ou outro usu´arios Docker
Armazenada no Docker Hub ou no seu Registro local
Contˆeineres
Plataforma isolada para a aplica¸c˜ao
Cont´em tudo que precisa para executar a aplica¸c˜ao
Baseado em uma ou mais imagens
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 15/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Docker Registro e Reposit´orio
Registro
Registro ´e onde n´os armazenamos as nossas imagens.
Podemos ter o nosso pr´oprio Registro ou utilizar Registros
p´ublicos como o Docker Hub
Reposit´orios
Dentro do Registro n´os temos os Reposit´orios
Cada Reposit´orio armazena vers˜oes das imagens base
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 16/17
Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos
Docker Registro e Reposit´orio
Registro
Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 17/17

Mais conteúdo relacionado

Mais procurados

Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers DockerMatheus Fidelis
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o DockerWebSix
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
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
 
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
 
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
 
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
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017Fabio Janiszevski
 
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 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
 

Mais procurados (20)

Introdução a Containers Docker
Introdução a Containers DockerIntrodução a Containers Docker
Introdução a Containers Docker
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
Primeiros passos com o Docker
Primeiros passos com o DockerPrimeiros passos com o Docker
Primeiros passos com o Docker
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
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
 
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
 
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
 
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...
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Vagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + dockerVagrant vs docker? Melhor vagrant + docker
Vagrant vs docker? Melhor vagrant + docker
 
Docker
DockerDocker
Docker
 
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 compose
Docker composeDocker compose
Docker compose
 
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
 

Destaque

Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJSGiovanni Bassi
 
Atividade5
Atividade5Atividade5
Atividade5abramo
 
DevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e DockerDevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e DockerLucas Arbiza
 
Curso de Certificação Linux LPI - Terminal Root
Curso de Certificação Linux LPI - Terminal RootCurso de Certificação Linux LPI - Terminal Root
Curso de Certificação Linux LPI - Terminal RootMarcos Quinho
 
Livro Programação em Shell 8 edição Julio Cézar Nevez
Livro Programação em Shell 8 edição   Julio Cézar NevezLivro Programação em Shell 8 edição   Julio Cézar Nevez
Livro Programação em Shell 8 edição Julio Cézar NevezSoftD Abreu
 
Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1ponto hacker
 
Livro proibido do curso de hacker completo 285 páginas 71
Livro proibido do curso de hacker completo 285 páginas 71Livro proibido do curso de hacker completo 285 páginas 71
Livro proibido do curso de hacker completo 285 páginas 71Guilherme Dias
 

Destaque (9)

Simulado da prova lpi 101
Simulado da prova lpi 101Simulado da prova lpi 101
Simulado da prova lpi 101
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJS
 
Atividade5
Atividade5Atividade5
Atividade5
 
DevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e DockerDevOps e redes -- SDN NFV e Docker
DevOps e redes -- SDN NFV e Docker
 
Curso de Certificação Linux LPI - Terminal Root
Curso de Certificação Linux LPI - Terminal RootCurso de Certificação Linux LPI - Terminal Root
Curso de Certificação Linux LPI - Terminal Root
 
Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm
 
Livro Programação em Shell 8 edição Julio Cézar Nevez
Livro Programação em Shell 8 edição   Julio Cézar NevezLivro Programação em Shell 8 edição   Julio Cézar Nevez
Livro Programação em Shell 8 edição Julio Cézar Nevez
 
Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1
 
Livro proibido do curso de hacker completo 285 páginas 71
Livro proibido do curso de hacker completo 285 páginas 71Livro proibido do curso de hacker completo 285 páginas 71
Livro proibido do curso de hacker completo 285 páginas 71
 

Semelhante a Introdução à plataforma Docker

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
 
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 introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners dockerDocker introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners dockerHerbethLucas1
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker BásicoAndré Justi
 
Api com sql server em container
Api com sql server em containerApi com sql server em container
Api com sql server em containerThaise Dantas
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linhamatheuscmpm
 
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
 
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 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
 
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 e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogCesar Augusto Nogueira
 

Semelhante a Introdução à plataforma Docker (20)

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
 
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 para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
Docker introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners dockerDocker introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners docker
 
Desvendando o Docker
Desvendando o DockerDesvendando o Docker
Desvendando o Docker
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Api com sql server em container
Api com sql server em containerApi com sql server em container
Api com sql server em container
 
Orchestrando na linha
Orchestrando na linhaOrchestrando na linha
Orchestrando na linha
 
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...
 
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 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
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça 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 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
 

Introdução à plataforma Docker

  • 1. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Introdu¸c˜ao ao Docker O que ´e e porque devo utilizar? Thiago Almeida thiagoalmeida@ufpa.br August 31, 2015 Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 1/17
  • 2. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Pr´e requisitos e Objetivos Docker Nenhuma experiˆencia anterior com Docker ser´a necess´aria. LINUX Familiaridade com alguma distribui¸c˜ao Linux Familiaridade com terminal e linhas de comando. Objetivos Entender a estrutura da plataforma Docker. Conhecer os componentes da plataforma Docker. Imagens Contˆeineres Reposit´orios Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 2/17
  • 3. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Agenda T´opicos abordados Principais pontos O que ´e Docker? Contˆeineres vs M´aquinas Virtuais Visualiza¸c˜ao sobre a plataforma Docker Docker Engine Imagens Contˆeineres Registro Reposit´orios Introdu¸c˜ao `as Imagens Iniciando com contˆeineres Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 3/17
  • 4. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos O que ´e Docker? Defini¸c˜ao Docker ´e uma plataforma para desenvolvimento, envio e execu¸c˜ao de aplica¸c˜oes utilizando virtualiza¸c˜ao baseada em contˆeiner. A plataforma Docker ´e composta por algumas ferramentas e produtos, s˜ao eles: Docker Engine Docker Hub Docker Machine Docker Swarm Docker Compose Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 4/17
  • 5. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Contˆeineres vs M´aquinas Virtuais Um pouco de hist´oria Servidores reais Antigamente n´os utiliz´avamos um servidor para uma ´unica aplica¸c˜ao. Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 5/17
  • 6. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Contˆeineres vs M´aquinas Virtuais Um pouco de hist´oria Problemas que isso causava Gastava muito tempo no deploy Alto custo Desperd´ıcio de recursos Dif´ıcil para escalar Dif´ıcil para migrar Dependˆencia do fabricante Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 6/17
  • 7. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Contˆeineres vs M´aquinas Virtuais Um pouco de hist´oria Virtualiza¸c˜ao baseada em Hypervisor Um servidor f´ısico pode conter v´arias aplica¸c˜oes Cada aplica¸c˜ao roda em uma m´aquina virtual (VM) Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 7/17
  • 8. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Contˆeineres vs M´aquinas Virtuais Um pouco de hist´oria Vantagens da m´aquina virtual Melhor aproveitamento dos recursos Um servidor f´ısico dividido em v´arias m´aquinas virtuais F´acil de escalar Limita¸c˜oes da m´aquina virtual Cada m´aquina virtual requer: CPU alocada Armazenamento Mem´oria RAM Um sistema operacional inteiro Quanto mais VMs vocˆe roda, mais recursos vocˆe precisa Um sistema operacional num guest ´e um desperd´ıcio Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 8/17
  • 9. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Contˆeineres vs M´aquinas Virtuais Introdu¸c˜ao aos contˆeineres O que s˜ao? Virtualiza¸c˜ao baseada em contˆeiner usa o kernel do sistema operacional do host para executar m´ultiplas instˆancias Cada guest ´e chamado de contˆeiner Cada contˆeiner possui: Sistema de arquivos raiz Processos Mem´oria Dispositivos Pilha de rede Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 9/17
  • 10. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Contˆeineres vs M´aquinas Virtuais Contˆeiner Visualizando um contˆeiner Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 10/17
  • 11. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Contˆeineres vs M´aquinas Virtuais Contˆeiner vs VM Vantagens do contˆeiner Contˆeiner ´e mais leve N˜ao precisa instalar um SO inteiro Requer menos CPU, RAM e armazenamento Um servidor pode rodar mais contˆeineres do que VMs Maior portabilidade Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 11/17
  • 12. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Contˆeineres vs M´aquinas Virtuais Visualizando as diferen¸cas Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 12/17
  • 13. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Docker Engine O que ´e? Docker Engine ´e o programa que possibilita os contˆeineres serem feitos, enviados e executados. Docker Engine utiliza namespaces e cgroups do Kernel Linux. Namespaces nos permitem isolar os contˆeineres nos seus pr´oprios ambientes. Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 13/17
  • 14. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Composi¸c˜ao do Docker Engine Docker Client e Daemon Possui a arquitetura Cliente/Servidor O cliente pega as entradas do usu´ario e `as envia pro Daemon O Daemon monta, executa e distribui os contˆeineres. Cliente e Daemon podem rodar no mesmo host ou em hosts diferentes. Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 14/17
  • 15. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Docker Contˆeineres e Imagens Imagens Template somente leitura utilizado para criar contˆeineres Feita por vocˆe mesmo ou outro usu´arios Docker Armazenada no Docker Hub ou no seu Registro local Contˆeineres Plataforma isolada para a aplica¸c˜ao Cont´em tudo que precisa para executar a aplica¸c˜ao Baseado em uma ou mais imagens Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 15/17
  • 16. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Docker Registro e Reposit´orio Registro Registro ´e onde n´os armazenamos as nossas imagens. Podemos ter o nosso pr´oprio Registro ou utilizar Registros p´ublicos como o Docker Hub Reposit´orios Dentro do Registro n´os temos os Reposit´orios Cada Reposit´orio armazena vers˜oes das imagens base Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 16/17
  • 17. Apresenta¸c˜ao Introdu¸c˜ao Docker, conceitos e termos Docker Registro e Reposit´orio Registro Thiago Almeida thiagoalmeida@ufpa.br — Introdu¸c˜ao ao Docker 17/17