introdução à plataforma docker

17
Apresenta¸ ao Introdu¸c˜ ao Docker, conceitos e termos Introdu¸ ao ao Docker O que ´ e e porque devo utilizar? Thiago Almeida [email protected] August 31, 2015 Thiago Almeida [email protected] — Introdu¸ ao ao Docker 1/17

Upload: moss-open-source-services

Post on 15-Feb-2017

575 views

Category:

Presentations & Public Speaking


1 download

TRANSCRIPT

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