Download - Introdução à plataforma Docker
Apresentacao Introducao Docker, conceitos e termos
Introducao ao DockerO que e e porque devo utilizar?
Thiago Almeida [email protected]
August 31, 2015
Thiago Almeida [email protected] — Introducao ao Docker 1/17
Apresentacao Introducao Docker, conceitos e termos
Pre requisitos e Objetivos
Docker
Nenhuma experiencia anterior com Docker seranecessaria.
LINUX
Familiaridade com alguma distribuicao Linux
Familiaridade com terminal e linhas de comando.
Objetivos
Entender a estrutura da plataforma Docker.
Conhecer os componentes da plataforma Docker.
ImagensConteineresRepositorios
Thiago Almeida [email protected] — Introducao ao Docker 2/17
Apresentacao Introducao Docker, conceitos e termos
AgendaTopicos abordados
Principais pontos
O que e Docker?
Conteineres vs Maquinas Virtuais
Visualizacao sobre a plataforma Docker
Docker EngineImagensConteineresRegistroRepositorios
Introducao as Imagens
Iniciando com conteineres
Thiago Almeida [email protected] — Introducao ao Docker 3/17
Apresentacao Introducao Docker, conceitos e termos
O que e Docker?
Definicao
Docker e uma plataforma para desenvolvimento, envio eexecucao de aplicacoes utilizando virtualizacao baseada emconteiner. A plataforma Docker e composta por algumasferramentas e produtos, sao eles:
Docker Engine
Docker Hub
Docker Machine
Docker Swarm
Docker Compose
Thiago Almeida [email protected] — Introducao ao Docker 4/17
Apresentacao Introducao Docker, conceitos e termos
Conteineres vs Maquinas VirtuaisUm pouco de historia
Servidores reais
Antigamente nos utilizavamos um servidor para uma unicaaplicacao.
Thiago Almeida [email protected] — Introducao ao Docker 5/17
Apresentacao Introducao Docker, conceitos e termos
Conteineres vs Maquinas VirtuaisUm pouco de historia
Problemas que isso causava
Gastava muito tempo no deploy
Alto custo
Desperdıcio de recursos
Difıcil para escalar
Difıcil para migrar
Dependencia do fabricante
Thiago Almeida [email protected] — Introducao ao Docker 6/17
Apresentacao Introducao Docker, conceitos e termos
Conteineres vs Maquinas VirtuaisUm pouco de historia
Virtualizacao baseada em Hypervisor
Um servidor fısico pode conter varias aplicacoes
Cada aplicacao roda em uma maquina virtual (VM)
Thiago Almeida [email protected] — Introducao ao Docker 7/17
Apresentacao Introducao Docker, conceitos e termos
Conteineres vs Maquinas VirtuaisUm pouco de historia
Vantagens da maquina virtual
Melhor aproveitamento dos recursos
Um servidor fısico dividido em varias maquinas virtuais
Facil de escalar
Limitacoes da maquina virtual
Cada maquina virtual requer:
CPU alocadaArmazenamentoMemoria RAMUm sistema operacional inteiro
Quanto mais VMs voce roda, mais recursos voce precisa
Um sistema operacional num guest e um desperdıcio
Thiago Almeida [email protected] — Introducao ao Docker 8/17
Apresentacao Introducao Docker, conceitos e termos
Conteineres vs Maquinas VirtuaisIntroducao aos conteineres
O que sao?
Virtualizacao baseada em conteiner usa o kernel do sistemaoperacional do host para executar multiplas instancias
Cada guest e chamado de conteiner
Cada conteiner possui:
Sistema de arquivos raizProcessosMemoriaDispositivosPilha de rede
Thiago Almeida [email protected] — Introducao ao Docker 9/17
Apresentacao Introducao Docker, conceitos e termos
Conteineres vs Maquinas VirtuaisConteiner
Visualizando um conteiner
Thiago Almeida [email protected] — Introducao ao Docker 10/17
Apresentacao Introducao Docker, conceitos e termos
Conteineres vs Maquinas VirtuaisConteiner vs VM
Vantagens do conteiner
Conteiner e mais leve
Nao precisa instalar um SO inteiro
Requer menos CPU, RAM e armazenamento
Um servidor pode rodar mais conteineres do que VMs
Maior portabilidade
Thiago Almeida [email protected] — Introducao ao Docker 11/17
Apresentacao Introducao Docker, conceitos e termos
Conteineres vs Maquinas VirtuaisVisualizando as diferencas
Thiago Almeida [email protected] — Introducao ao Docker 12/17
Apresentacao Introducao Docker, conceitos e termos
Docker Engine
O que e?
Docker Engine e o programa que possibilita osconteineres serem feitos, enviados e executados.
Docker Engine utiliza namespaces e cgroups do KernelLinux.
Namespaces nos permitem isolar os conteineres nos seusproprios ambientes.
Thiago Almeida [email protected] — Introducao ao Docker 13/17
Apresentacao Introducao Docker, conceitos e termos
Composicao do Docker Engine
Docker Client e Daemon
Possui a arquitetura Cliente/Servidor
O cliente pega as entradas do usuario e as envia proDaemon
O Daemon monta, executa e distribui os conteineres.
Cliente e Daemon podem rodar no mesmo host ou emhosts diferentes.
Thiago Almeida [email protected] — Introducao ao Docker 14/17
Apresentacao Introducao Docker, conceitos e termos
Docker Conteineres e Imagens
Imagens
Template somente leitura utilizado para criar conteineres
Feita por voce mesmo ou outro usuarios Docker
Armazenada no Docker Hub ou no seu Registro local
Conteineres
Plataforma isolada para a aplicacao
Contem tudo que precisa para executar a aplicacao
Baseado em uma ou mais imagens
Thiago Almeida [email protected] — Introducao ao Docker 15/17
Apresentacao Introducao Docker, conceitos e termos
Docker Registro e Repositorio
Registro
Registro e onde nos armazenamos as nossas imagens.
Podemos ter o nosso proprio Registro ou utilizar Registrospublicos como o Docker Hub
Repositorios
Dentro do Registro nos temos os Repositorios
Cada Repositorio armazena versoes das imagens base
Thiago Almeida [email protected] — Introducao ao Docker 16/17
Apresentacao Introducao Docker, conceitos e termos
Docker Registro e Repositorio
Registro
Thiago Almeida [email protected] — Introducao ao Docker 17/17