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:
- Fazendo um commit das alterações de um container
- 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