DOCKER

Tiago Gonçalves

Vizir Software Studio

O que é?

É uma plataforma livre para desenvolvedores e sysadmins criar, provisionar e rodar sistemas distribuídos.  

Vantagens

  • A aplicação vai rodar da mesma forma em qualquer ambiente (windows, osx, linux);
  • Simplifica a configuração de um ambiente de desenvolvimento;
  • Testar sua aplicação em um ambiente semelhante ao de QA/Teste/Produção 
  • Milhares de containers prontos para uso;
  • Diminui o "na minha máquina funciona";
  • Escalável;
  • Leve;
  • Rápido;

VM

Para cada aplicação isolada um novo sistema operacional será utilizado, consumindo mais recursos(memória, hd, cpu)

Docker

Roda sua aplicação em um processo isolado. Cada container contém apenas a aplicação e suas dependências

Estrutura

  • Docker client
  • Docker daemon
  • Docker images
  • Docker container
  • Docker hub (Registry)

Docker Client

É a interface para o docker daemon. Aceita comandos do usuário para comunicar ao docker daemon.

Docker Daemon

É um serviço que faz todo o trabalho. O usuário não interage diretamente com ele.

Docker Images

Imagens do docker servem para criar docker containers.

 

Imagens podem ser criadas de duas formas:

  1. Fazendo um commit das alterações de um container
  2. Criando um arquivo de manifesto:  "Dockerfile" 

Docker Hub (Registry)

O docker hub serve para armazenar imagens públicas e privadas do docker.

 

Quando você não tiver uma imagem na sua máquina é de lá que ele vai fazer o download.

Docker Container

Docker containers são criados a partir de imagens.

 

Contém tudo que for necessário para a sua aplicação rodar.

Principais comandos

  • cp
  • exec
  • images
  • kill
  • logs
  • ps
  • restart
  • rm
  • rmi
  • run
  • search
  • start
  • stop

Docker-compose

É uma ferramenta para configurar e rodar aplicações complexas com o Docker.

 

Com ele você consegue definir uma aplicação com multiplos containers em um único arquivo. 

docker-compose.yml

front:
  image: node:0.10.36
  command: "bash -c 'npm run dependencies && npm run watch'"
  working_dir: /project/front
  environment:
    - MIDDLE_URL=http://middleware.company.com
  ports:
    - "3000:3000"
  volumes:
    - .:/project
  links:
    - middleware:middleware.company.com

Principais comandos

  • build
  • help
  • kill
  • logs
  • ps
  • rm
  • run
  • start
  • stop
  • up

Obrigado!

Tiago de Assis Gonçalves

Vizir Software Studio

Docker (Portuguese)

By Tiago

Docker (Portuguese)

Simple appresentation of docker and docker-compose

  • 739