o que é docker?

34
O que é Docker?

Upload: waldemar-neto

Post on 15-Feb-2017

321 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: O que é docker?

O que é Docker?

Page 2: O que é docker?

Consultor/DesenvolvedorPalestranteGerador de conteúdogente fina

EU

Page 3: O que é docker?
Page 4: O que é docker?

"Containers docker embrulham parte de um software emum filesystem completo que contem tudo que ele precisapara rodar: código, ferramentas de sistemas, bibliotecas -tudo você pode instalar em um servidor. Isso garante que sempre vai rodar a mesma coisa independente do ambiente."

Tradução livre da descrição oficial aqui.

Page 5: O que é docker?

e?????

Page 6: O que é docker?

Como o linux administra os processos● Cada processo possui um PID

○ PID = Process Identifier○ Identificador do processo

● Processos possuem também um atributo chamado PPID○ PPID = Parent Process Identifier○ Identifica o PID do processo que pediu ao Kernel para criar o

processo.

● UIDs e GIDS○ UIDS = User Identification○ GIDS = Group Identification○ São usados para fazer a permissão dos usuários.

Page 7: O que é docker?

OCHROOT● O comanado CHROOT do SO Unix é uma operação que muda o

diretório root do processo corrente e de seus processos filhos.

● Processos que tem o root alterado não podem acessar arquivos fora daquele contexto.

Page 8: O que é docker?

CHROOT e bind mounts● Um processo pode ter acesso a diretórios específicos,

podendo ter permissão de Read-Only (somente leitura).● Podem acessar diretórios como /dev ou /sys por exemplo.

Page 9: O que é docker?

Linux Containers (LXC)● O Kernel Linux possui Cgroups

○ Cgroups conseguem isolar o uso de recursos como CPU, Memória, Rede e etc.

○ Os grupos de processos são separados por um isolamento de namespace.

Page 10: O que é docker?
Page 11: O que é docker?

virtualizações● Bare Metal

○ O software que administra a virtualização opera diretamente sobre o hardware como o Xen e VMware.

○ Proporciona um maior isolamento mas tem um alto custo pois cada maquina ira ter seu próprio Kernel e SO

● Hosted○ É o caso do VirtualBox que roda em cima de um SO mas igual ao Bare

Metal irão iniciar um ambiente com Kernel e SO próprios.● LXC

○ Basicamente é uma virtualização em nível de SO.○ Conseguem rodar sistemas Linux isolados.○ Compartilham dos recursos do host de controle.

Page 12: O que é docker?

E O DOCKER?

Page 13: O que é docker?

Docker● O docker usava LXC.● O simbolo de uma baleia levando containers simboliza a

maquina host levando vários serviços.● O docker tem a missão de facilitar e agilizar o

desenvolvimento de aplicações.● Containers devem ter somente uma responsabilidade.

Page 14: O que é docker?

MAquinas virtuais vs Docker

Page 15: O que é docker?
Page 16: O que é docker?

Termos comuns● Build● Imagem● Container● Porta● Link● Volume● Registry

Page 17: O que é docker?

Docker buildBuild é o processo de construção de uma imagem a partir de um arquivo chamado Dockerfile que contem instruções.

O Dockerfile é lido de cima para baixo é seus passos são cacheados para futuros builds.

Page 18: O que é docker?

Dockerfile

Page 19: O que é docker?

Imagens dockerImagens docker são arquivos imutáveis que possuem uma lista de camadas semelhante a um repositório git, elas podem ser atualizadas e versionadas e servem como base para criar um container.

● Imagens oficiais○ Nome e versão

■ Ubuntu:14.04

● Imagens não oficiais○ Usuario, nome e versão

■ waldemarnt/ubuntu:14.04

Page 20: O que é docker?

Docker containersContainers são binários iniciados a partir de uma imagem(somente de uma). Eles irão executar o que foi descrito no build. Containers são descartáveis e não devem ser usados por muito tempo.

Page 21: O que é docker?

Docker portsContainers que executam aplicações por exemplo precisam expor algumas portas na rede para que possam ser acessados.

Quando se inicia um container a partir de uma imagem é possível dizer qual porta sera.

Page 22: O que é docker?

Docker linksComo containers devem ter somente uma responsabilidade quase sempre será necessário depender de outros containers com outras responsabilidades. Com o link é possível fazer com que eles se encontrem na rede.

Page 23: O que é docker?

Docker volumesContainers precisam salvar dados, sincronizar dados externos e outros tipos de operações. Os volumes são escritos no file-system. Volumes do tipo data não são deletados quando o container é removido.

Page 24: O que é docker?

Docker registryImages docker podem ser versionadas e commitadas, são formadas em forma de camadas incrementais. O docker registry é o repositório oficial do docker na web onde é possível hospedar imagens e usar imagens publicas e privadas.

Page 25: O que é docker?
Page 26: O que é docker?

Workflow de desenvolvimento

Page 27: O que é docker?

Criando um Dockerfile

Page 28: O que é docker?

construindo um dockerfile

Page 29: O que é docker?

listando imagens

Page 30: O que é docker?

Iniciando um container

Page 31: O que é docker?

listando containers ativos

Page 32: O que é docker?

Parando e iniciando o mesmo container

Page 33: O que é docker?

Executando comandos no containerSem entrar no container

Entrando no container em modo interavito

Page 34: O que é docker?

PERGUNTAS?http://walde.co

waldemarnt no twitter e facebook