Docker um Linux container engine - Hudson Brendon
-
Upload
potilivre -
Category
Technology
-
view
138 -
download
4
Transcript of Docker um Linux container engine - Hudson Brendon
![Page 1: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/1.jpg)
Um linux container engine
![Page 3: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/3.jpg)
Agenda
● Conhecendo o docker● Criando imagens, contêineres, etc● Dockerfile● Dockerhub● Instalando● Demos
![Page 4: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/4.jpg)
Contêineres, contêineres e contêineres
![Page 5: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/5.jpg)
O problema
![Page 6: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/6.jpg)
![Page 7: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/7.jpg)
![Page 8: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/8.jpg)
![Page 9: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/9.jpg)
Vms x Contêineres
![Page 10: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/10.jpg)
Camadas: Imagens e contêineres
![Page 11: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/11.jpg)
Camadas: Imagens e contêineres
![Page 12: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/12.jpg)
Camadas: Imagens e contêineres
![Page 13: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/13.jpg)
Camadas: Imagens e contêineres
![Page 14: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/14.jpg)
Imagens● Template read only;● Contém os arquivos que vão executar a aplicação.
Normalmente bibliotecas, frameworks, arquivos do SO;● Há imagens de SO: Ubuntu, Debian, CentOS, etc;● Há imagens de ambientes: Python, Ruby, Python, etc;● Imagens podem ser raiz ou apontar para um ‘pai’;● Podem ser criadas por um Dockerfile ou por um
commit;● Formato: usuário/nomedaimagem, e imagens oficiais
não tem nome do usuário.
![Page 15: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/15.jpg)
Contêineres● São iniciados a partir de imagens e rodam sua aplicação (docker
run);● Podem ser commitados para gerar imagens (docker commit);● Se comunicam via rede e o ambiente externo e/ou com outros
contêineres;● Tem sua execução controlada pelo host (CPU, memória, etc);● Podem parar (docker stop), reiniciar (docker restart, docker start),
ser apagado (docker rm), pausar (docker pause) e continuar (docker unpause);
● Tem nome;● Podem ser descartados ou persistentes;● Normalmente rodam somente um processo.
![Page 16: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/16.jpg)
DEMOLISTANDO IMAGENSRODANDO UM CONTÊINERLISTANDO, PARANDO, REINICIANDO CONTÊINERES
![Page 17: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/17.jpg)
Por que é importante para desenvolvedores?
● Fácil de começar a desenvolver;● Você pode usar Window, Linux ou Mac● Se funciona na sua máquina:
○ vai funcionar na máquina de todos;○ vai passar no build e vai funcionar em produção;
● Fácil de montar o ambiente;● Fácil de estruturar a arquitetura;● Sem conflito entre diferentes projetos;● Rápido, Muito, muito, muito rápido.
![Page 18: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/18.jpg)
Por que é importante para sysadmins?
Fácil de colocar em produção;É trivial montar ambientes padronizados para dev, qa e produção;Se passou na build vai funcionar em produção;É fácil escalar;É fácil dar prioridade para uma aplicação sobre outra;Permite aumentar a densidade de uma máquina.
![Page 19: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/19.jpg)
Open source
● Disponível em github.com/docker;● Apache2 (permissiva, você detem uma licença para
fazer oque quiser);● Escrito em Go;● Monetização atravéz de serviços adicionais opcionais
e que você pode contruir por conta própria se quiser;● 900+ contribuidores;● Diversos projetos adicionais (composer, libcontainer,
etc).
![Page 20: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/20.jpg)
Instalando
● No linux a instalação é feita apenas com uma única linha que você roda no terminal;
● Por causa das dependências com o kernel do linux, Docker não roda diretamente no windows ou no Mac;
● No Windows ou no Mac rode com Boot2Docker, que deixa tudo rápido, ou rode diretamente em uma VM.
![Page 21: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/21.jpg)
Quem usa?
![Page 22: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/22.jpg)
Dockerfile● É o “fonte” de uma imagem;● É uma maneira de gerar imagens, e é a melhor
maneira;● Fácil de saber o que há em uma imagem: leia o
Dockerfile;● Você indica a imagem pai, arquivos para adicionar,
comandos para rodar ao criar a imagem, o comando que vai rodar a imagem em si, etc;
● Compilado com ‘docker build’;● .dockerignore.
![Page 23: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/23.jpg)
Um DockerfileFROM ubuntu:14.04MAINTAINER Hudson Brendon <[email protected]># pip requirementsADD /requirements/requirements.txt /home/requirements/requirements.txt# update e upgradeRUN apt-get -yq update && apt-get -yq upgrade# enstall pre-requisitesRUN apt-get -yq install build-essential python-pip python-dev git vim# pip install packagesRUN pip install -r /home/requirements/requirements.txt# expose the portEXPOSE 8000CMD ["/bin/bash"]
![Page 24: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/24.jpg)
DEMOBAIXANDO UMA IMAGEMCRIANDO UMA IMAGEMEMPURRANDO UMA IMAGEM PARA O HUB
![Page 25: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/25.jpg)
Mais informações
● Docker: docker.com● Tutorial: docker.com/tryit● Boot2Docker: boot2docker.io
![Page 26: Docker um Linux container engine - Hudson Brendon](https://reader033.fdocuments.us/reader033/viewer/2022042716/55c8005ebb61eb5a0d8b4575/html5/thumbnails/26.jpg)
Dúvidas?Hudson Brendon
@hudsonbrendon