Globalcode – Open4education
NoSQL – Docker Compose + Bancos NoSQL: descomplicando a
montagem de ambientes de Dev/Testes
Renato Groffe
Microsoft MVP, MTAC
Globalcode – Open4education
Contatos
https://medium.com/@renato.groffe/
/renatogroffe /in/renatogroffe
/canaldotnet
/renatogroffe/renatogroff
/canaldotnet
Globalcode – Open4education
Agenda
Docker + containers: uma visão geral
Docker Compose: deployment simplificado de
serviços e suas dependências
Exemplos práticos
Globalcode – Open4education
Alguns conceitos fundamentais
Imagens → “receita” para criação de containers
(arquivo Dockerfile); versões para Windows e
Linux; contém todos os arquivos e dependências
de uma aplicação – incluindo sistema
operacional
Containers → pacote com tudo que é
necessário para a execução de uma aplicação
(serviço, site, API)
Globalcode – Open4education
Por que utilizar containers?
Isolamento
Deployment com maior velocidade
Menor dependência do ambiente
Excelente alternativa para ambientes de
desenvolvimento e testes
Globalcode – Open4education
Onde encontrar imagens?
Globalcode – Open4education
Imagens Alpine
Baseadas na distribuição Alpine Linux
Preocupação com segurança e simplicidade
Imagens Docker menores (contendo apenas o
mínimo necessário para a execução da
aplicação)
Globalcode – Open4education
Montando ambientes com containers
Rapidez na instalação
Desinstalação sem grandes dificuldades
Diferentes versões de um software numa
mesma máquina
Globalcode – Open4education
O que podemos instalar?
Servidores de bancos de dados
Aplicações Web
Serviços para execução em background
Globalcode – Open4education
Criando containers na prática
Globalcode – Open4education
Docker + MongoDB
docker run --name testemongo -e
"MONGO_INITDB_ROOT_USERNAME=root" -e
"MONGO_INITDB_ROOT_PASSWORD=MongoDB2019!" -p
27017:27017 -d mongo
++
Globalcode – Open4education
Como conciliar serviços, dependências
e containers?
++Mongo
Express
No caso do MongoDB, temos o MongoExpress como solução de
gerenciamento via browser
Globalcode – Open4education
E também…
Como evitar comandos extensos, em que
múltiplos parâmetros podem levar a
eventuais falhas de preenchimentos e erros?
Como evitar a execução de múltiplos
comandos para a criação/configuração de
um ou mais containers?
Globalcode – Open4education
DOCKER COMPOSE, A RESPOSTA!
Globalcode – Open4education
Docker Compose: visão geral
Criação e execução conjunta dos
múltiplos containers de uma
aplicação
Facilita o deployment em ambientes
de desenvolvimento e testes
Suporte a integração contínua
Globalcode – Open4education
Docker Compose: visão geral
É comum a criação de networks (redes)
do Docker para deployment
Arquivo com configurações no formato
YAML (docker-compose.yml)
Suporte também do Visual Studio Code
Globalcode – Open4education
Docker Compose: um exemplo prático
++Mongo
Express
++ ++
Redis
++
Globalcode – Open4education
BDs + Docker: cuidados importantes!
Habilitar mecanismos de
segurança no acesso a dados
A criação de volumes evita a
perda de dados quando da
eliminição de um container
Globalcode – Open4education
Docker + Volumes
Globalcode – Open4education
Docker + Volumes
Globalcode – Open4education
Dúvidas?
Globalcode – Open4education
Obrigado!!!
https://medium.com/@renato.groffe/
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ambientes de Dev/Testes - TDC 2019 - São Paulo

Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ambientes de Dev/Testes - TDC 2019 - São Paulo